chef 16.3.45-universal-mingw32 → 16.5.77-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Rakefile +2 -2
- data/bin/knife +1 -1
- data/chef-universal-mingw32.gemspec +0 -1
- data/chef.gemspec +2 -1
- data/distro/templates/powershell/chef/chef.psm1.erb +18 -18
- data/ext/win32-eventlog/Rakefile +2 -2
- data/ext/win32-eventlog/chef-log.man.erb +4 -4
- data/lib/chef/action_collection.rb +4 -0
- data/lib/chef/api_client/registration.rb +2 -2
- data/lib/chef/application.rb +20 -18
- data/lib/chef/application/apply.rb +17 -12
- data/lib/chef/application/base.rb +26 -23
- data/lib/chef/application/client.rb +10 -4
- data/lib/chef/application/exit_code.rb +13 -4
- data/lib/chef/application/knife.rb +22 -11
- data/lib/chef/application/solo.rb +2 -1
- data/lib/chef/application/windows_service.rb +39 -39
- data/lib/chef/application/windows_service_manager.rb +6 -6
- data/lib/chef/chef_class.rb +0 -1
- data/lib/chef/chef_fs/chef_fs_data_store.rb +55 -55
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
- data/lib/chef/chef_fs/knife.rb +2 -2
- data/lib/chef/chef_fs/parallelizer.rb +0 -1
- data/lib/chef/client.rb +21 -22
- data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
- data/lib/chef/cookbook/gem_installer.rb +1 -1
- data/lib/chef/cookbook/synchronizer.rb +2 -2
- data/lib/chef/cookbook_site_streaming_uploader.rb +13 -11
- data/lib/chef/cookbook_uploader.rb +1 -1
- data/lib/chef/data_collector.rb +6 -5
- data/lib/chef/data_collector/config_validation.rb +22 -13
- data/lib/chef/data_collector/run_end_message.rb +13 -3
- data/lib/chef/data_collector/run_start_message.rb +1 -1
- data/lib/chef/deprecated.rb +1 -1
- data/lib/chef/deprecation/warnings.rb +2 -2
- data/lib/chef/digester.rb +2 -2
- data/lib/chef/dsl/chef_vault.rb +1 -1
- data/lib/chef/dsl/data_query.rb +2 -2
- data/lib/chef/dsl/platform_introspection.rb +9 -9
- data/lib/chef/encrypted_data_bag_item.rb +3 -4
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +3 -3
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +3 -3
- data/lib/chef/environment.rb +4 -4
- data/lib/chef/event_loggers/windows_eventlog.rb +2 -2
- data/lib/chef/exceptions.rb +5 -5
- data/lib/chef/file_access_control/windows.rb +5 -1
- data/lib/chef/file_content_management/tempfile.rb +10 -10
- data/lib/chef/formatters/doc.rb +7 -6
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +6 -5
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +9 -9
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +3 -3
- data/lib/chef/formatters/indentable_output_stream.rb +2 -2
- data/lib/chef/formatters/minimal.rb +5 -4
- data/lib/chef/http.rb +6 -3
- data/lib/chef/http/auth_credentials.rb +5 -1
- data/lib/chef/http/authenticator.rb +1 -1
- data/lib/chef/http/basic_client.rb +4 -2
- data/lib/chef/http/decompressor.rb +1 -1
- data/lib/chef/http/http_request.rb +7 -5
- data/lib/chef/http/socketless_chef_zero_client.rb +5 -2
- data/lib/chef/http/ssl_policies.rb +1 -1
- data/lib/chef/json_compat.rb +2 -2
- data/lib/chef/knife.rb +4 -4
- data/lib/chef/knife/bootstrap.rb +18 -16
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +3 -3
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +7 -7
- data/lib/chef/knife/client_create.rb +3 -3
- data/lib/chef/knife/config_get.rb +8 -97
- data/lib/chef/knife/config_get_profile.rb +9 -9
- data/lib/chef/knife/config_list.rb +139 -0
- data/lib/chef/knife/config_list_profiles.rb +8 -98
- data/lib/chef/knife/config_show.rb +127 -0
- data/lib/chef/knife/config_use.rb +61 -0
- data/lib/chef/knife/config_use_profile.rb +9 -24
- data/lib/chef/knife/configure.rb +4 -2
- data/lib/chef/knife/cookbook_download.rb +1 -1
- data/lib/chef/knife/cookbook_metadata.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +23 -23
- data/lib/chef/knife/core/bootstrap_context.rb +2 -2
- data/lib/chef/knife/core/generic_presenter.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +2 -2
- data/lib/chef/knife/core/object_loader.rb +1 -1
- data/lib/chef/knife/core/ui.rb +1 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +42 -34
- data/lib/chef/knife/delete.rb +15 -15
- data/lib/chef/knife/exec.rb +4 -4
- data/lib/chef/knife/node_policy_set.rb +2 -2
- data/lib/chef/knife/node_run_list_add.rb +1 -1
- data/lib/chef/knife/node_run_list_remove.rb +1 -1
- data/lib/chef/knife/node_run_list_set.rb +1 -1
- data/lib/chef/knife/node_show.rb +2 -2
- data/lib/chef/knife/role_env_run_list_add.rb +1 -1
- data/lib/chef/knife/role_env_run_list_set.rb +1 -1
- data/lib/chef/knife/role_run_list_add.rb +1 -1
- data/lib/chef/knife/role_run_list_set.rb +1 -1
- data/lib/chef/knife/search.rb +0 -1
- data/lib/chef/knife/serve.rb +3 -3
- data/lib/chef/knife/ssh.rb +24 -9
- data/lib/chef/knife/ssl_check.rb +3 -3
- data/lib/chef/knife/status.rb +2 -2
- data/lib/chef/knife/tag_create.rb +1 -1
- data/lib/chef/knife/tag_delete.rb +1 -1
- data/lib/chef/knife/user_create.rb +2 -2
- data/lib/chef/knife/xargs.rb +19 -19
- data/lib/chef/knife/yaml_convert.rb +1 -1
- data/lib/chef/local_mode.rb +2 -2
- data/lib/chef/log/syslog.rb +2 -2
- data/lib/chef/log/winevt.rb +2 -2
- data/lib/chef/mixin/checksum.rb +0 -1
- data/lib/chef/mixin/deep_merge.rb +35 -18
- data/lib/chef/mixin/openssl_helper.rb +4 -5
- data/lib/chef/mixin/shell_out.rb +1 -1
- data/lib/chef/mixin/template.rb +3 -3
- data/lib/chef/mixin/uris.rb +4 -2
- data/lib/chef/mixin/versioned_api.rb +1 -2
- data/lib/chef/mixin/which.rb +1 -1
- data/lib/chef/monkey_patches/net_http.rb +4 -4
- data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
- data/lib/chef/node/attribute.rb +2 -4
- data/lib/chef/node_map.rb +4 -4
- data/lib/chef/platform/service_helpers.rb +1 -1
- data/lib/chef/policy_builder/dynamic.rb +2 -0
- data/lib/chef/policy_builder/policyfile.rb +2 -2
- data/lib/chef/property.rb +1 -1
- data/lib/chef/provider.rb +1 -5
- data/lib/chef/provider/cron/unix.rb +0 -2
- data/lib/chef/provider/file.rb +2 -2
- data/lib/chef/provider/git.rb +5 -5
- data/lib/chef/provider/group.rb +0 -2
- data/lib/chef/provider/group/suse.rb +5 -5
- data/lib/chef/provider/ifconfig.rb +1 -4
- data/lib/chef/provider/launchd.rb +2 -2
- data/lib/chef/provider/link.rb +0 -9
- data/lib/chef/provider/mount.rb +0 -2
- data/lib/chef/provider/mount/linux.rb +63 -0
- data/lib/chef/provider/package.rb +0 -2
- data/lib/chef/provider/package/dpkg.rb +3 -12
- data/lib/chef/provider/package/homebrew.rb +1 -1
- data/lib/chef/provider/package/rubygems.rb +22 -19
- data/lib/chef/provider/package/snap.rb +1 -2
- data/lib/chef/provider/package/windows.rb +2 -2
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +12 -10
- data/lib/chef/provider/package/zypper.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +21 -5
- data/lib/chef/provider/remote_file/content.rb +3 -0
- data/lib/chef/provider/remote_file/ftp.rb +6 -4
- data/lib/chef/provider/remote_file/sftp.rb +6 -4
- data/lib/chef/provider/route.rb +2 -6
- data/lib/chef/provider/service/arch.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +4 -4
- data/lib/chef/provider/service/openbsd.rb +1 -4
- data/lib/chef/provider/service/redhat.rb +3 -3
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +10 -10
- data/lib/chef/provider/systemd_unit.rb +0 -2
- data/lib/chef/provider/template/content.rb +1 -0
- data/lib/chef/provider/template_finder.rb +2 -10
- data/lib/chef/provider/user/dscl.rb +7 -7
- data/lib/chef/provider/user/mac.rb +12 -12
- data/lib/chef/provider/windows_task.rb +1 -5
- data/lib/chef/provider/zypper_repository.rb +2 -3
- data/lib/chef/provider_resolver.rb +1 -1
- data/lib/chef/providers.rb +1 -1
- data/lib/chef/recipe.rb +2 -2
- data/lib/chef/resource.rb +8 -12
- data/lib/chef/resource/apt_repository.rb +5 -12
- data/lib/chef/resource/bff_package.rb +22 -0
- data/lib/chef/resource/breakpoint.rb +57 -2
- data/lib/chef/resource/build_essential.rb +1 -1
- data/lib/chef/resource/cab_package.rb +29 -0
- data/lib/chef/resource/chef_client_cron.rb +32 -25
- data/lib/chef/resource/chef_client_launchd.rb +194 -0
- data/lib/chef/resource/chef_client_scheduled_task.rb +21 -18
- data/lib/chef/resource/chef_client_systemd_timer.rb +26 -19
- data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
- data/lib/chef/resource/chef_gem.rb +10 -10
- data/lib/chef/resource/chef_handler.rb +149 -4
- data/lib/chef/resource/chef_sleep.rb +2 -2
- data/lib/chef/resource/chef_vault_secret.rb +14 -14
- data/lib/chef/resource/cookbook_file.rb +2 -2
- data/lib/chef/resource/cron/_cron_shared.rb +1 -0
- data/lib/chef/resource/cron/cron_d.rb +0 -1
- data/lib/chef/resource/dnf_package.rb +2 -2
- data/lib/chef/resource/dsc_resource.rb +0 -1
- data/lib/chef/resource/dsc_script.rb +2 -2
- data/lib/chef/resource/execute.rb +8 -9
- data/lib/chef/resource/file.rb +4 -4
- data/lib/chef/resource/gem_package.rb +5 -5
- data/lib/chef/resource/homebrew_package.rb +3 -3
- data/lib/chef/resource/homebrew_update.rb +7 -7
- data/lib/chef/resource/hostname.rb +2 -2
- data/lib/chef/resource/launchd.rb +2 -1
- data/lib/chef/resource/locale.rb +2 -2
- data/lib/chef/resource/macos_userdefaults.rb +3 -3
- data/lib/chef/resource/notify_group.rb +0 -1
- data/lib/chef/resource/ohai.rb +46 -3
- data/lib/chef/resource/ohai_hint.rb +33 -0
- data/lib/chef/resource/openssl_dhparam.rb +29 -5
- data/lib/chef/resource/openssl_ec_private_key.rb +8 -3
- data/lib/chef/resource/openssl_ec_public_key.rb +4 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +8 -3
- data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
- data/lib/chef/resource/openssl_x509_certificate.rb +38 -35
- data/lib/chef/resource/openssl_x509_crl.rb +21 -10
- data/lib/chef/resource/openssl_x509_request.rb +37 -36
- data/lib/chef/resource/osx_profile.rb +292 -6
- data/lib/chef/resource/plist.rb +1 -1
- data/lib/chef/resource/powershell_package_source.rb +6 -6
- data/lib/chef/resource/powershell_script.rb +24 -30
- data/lib/chef/resource/reboot.rb +2 -2
- data/lib/chef/resource/remote_file.rb +3 -3
- data/lib/chef/resource/rhsm_register.rb +22 -10
- data/lib/chef/resource/ruby_block.rb +2 -2
- data/lib/chef/resource/scm/subversion.rb +2 -2
- data/lib/chef/resource/service.rb +3 -3
- data/lib/chef/resource/ssh_known_hosts_entry.rb +2 -2
- data/lib/chef/resource/sudo.rb +1 -1
- data/lib/chef/resource/support/cron.d.erb +1 -1
- data/lib/chef/resource/support/cron_access.erb +1 -1
- data/lib/chef/resource/support/sudoer.erb +1 -1
- data/lib/chef/resource/support/ulimit.erb +1 -1
- data/lib/chef/resource/sysctl.rb +6 -10
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +2 -2
- data/lib/chef/resource/timezone.rb +112 -73
- data/lib/chef/resource/windows_ad_join.rb +12 -3
- data/lib/chef/resource/windows_audit_policy.rb +3 -0
- data/lib/chef/resource/windows_auto_run.rb +2 -0
- data/lib/chef/resource/windows_certificate.rb +8 -4
- data/lib/chef/resource/windows_dfs_folder.rb +2 -0
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
- data/lib/chef/resource/windows_dfs_server.rb +2 -0
- data/lib/chef/resource/windows_dns_record.rb +10 -7
- data/lib/chef/resource/windows_dns_zone.rb +12 -7
- data/lib/chef/resource/windows_feature.rb +2 -0
- data/lib/chef/resource/windows_feature_dism.rb +10 -0
- data/lib/chef/resource/windows_feature_powershell.rb +14 -2
- data/lib/chef/resource/windows_firewall_profile.rb +24 -20
- data/lib/chef/resource/windows_firewall_rule.rb +5 -3
- data/lib/chef/resource/windows_font.rb +3 -1
- data/lib/chef/resource/windows_package.rb +28 -5
- data/lib/chef/resource/windows_pagefile.rb +4 -0
- data/lib/chef/resource/windows_printer.rb +22 -21
- data/lib/chef/resource/windows_printer_port.rb +20 -17
- data/lib/chef/resource/windows_security_policy.rb +2 -0
- data/lib/chef/resource/windows_share.rb +5 -3
- data/lib/chef/resource/windows_shortcut.rb +2 -0
- data/lib/chef/resource/windows_uac.rb +2 -0
- data/lib/chef/resource/windows_user_privilege.rb +54 -53
- data/lib/chef/resource/windows_workgroup.rb +5 -6
- data/lib/chef/resource/yum_package.rb +2 -2
- data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
- data/lib/chef/resource_reporter.rb +0 -2
- data/lib/chef/resources.rb +3 -1
- data/lib/chef/role.rb +2 -2
- data/lib/chef/run_context.rb +2 -2
- data/lib/chef/run_context/cookbook_compiler.rb +21 -21
- data/lib/chef/run_lock.rb +2 -2
- data/lib/chef/run_status.rb +2 -6
- data/lib/chef/search/query.rb +6 -5
- data/lib/chef/shell.rb +32 -27
- data/lib/chef/shell/ext.rb +11 -11
- data/lib/chef/shell/shell_session.rb +2 -2
- data/lib/chef/train_transport.rb +5 -104
- data/lib/chef/util/backup.rb +2 -2
- data/lib/chef/util/diff.rb +14 -14
- data/lib/chef/util/powershell/cmdlet.rb +4 -2
- data/lib/chef/util/powershell/ps_credential.rb +18 -14
- data/lib/chef/util/threaded_job_queue.rb +0 -2
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/crypto.rb +1 -1
- data/lib/chef/win32/file.rb +3 -3
- data/lib/chef/win32/file/version_info.rb +5 -5
- data/lib/chef/win32/registry.rb +1 -2
- data/lib/chef/win32/unicode.rb +1 -1
- data/spec/data/shef-config.rb +1 -1
- data/spec/data/ssl/chef-rspec.cert +15 -15
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -5
- data/spec/functional/resource/aix_service_spec.rb +2 -2
- data/spec/functional/resource/aixinit_service_spec.rb +8 -8
- data/spec/functional/resource/bff_spec.rb +2 -2
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/dsc_resource_spec.rb +1 -1
- data/spec/functional/resource/dsc_script_spec.rb +0 -1
- data/spec/functional/resource/group_spec.rb +6 -6
- data/spec/functional/resource/insserv_spec.rb +5 -5
- data/spec/functional/resource/link_spec.rb +20 -20
- data/spec/functional/resource/powershell_script_spec.rb +4 -4
- data/spec/functional/resource/rpm_spec.rb +2 -2
- data/spec/functional/resource/user/dscl_spec.rb +1 -1
- data/spec/functional/resource/user/mac_user_spec.rb +1 -1
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_font_spec.rb +49 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -3
- data/spec/functional/resource/windows_task_spec.rb +13 -13
- data/spec/functional/run_lock_spec.rb +24 -24
- data/spec/functional/version_spec.rb +3 -3
- data/spec/functional/win32/registry_spec.rb +8 -8
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +4 -4
- data/spec/integration/client/exit_code_spec.rb +3 -2
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/knife/common_options_spec.rb +12 -12
- data/spec/integration/knife/config_list_spec.rb +220 -0
- data/spec/integration/knife/config_show_spec.rb +192 -0
- data/spec/integration/knife/config_use_spec.rb +198 -0
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
- data/spec/integration/knife/diff_spec.rb +3 -1
- data/spec/integration/knife/download_spec.rb +3 -1
- data/spec/integration/knife/serve_spec.rb +5 -5
- data/spec/integration/knife/upload_spec.rb +3 -1
- data/spec/integration/ohai/ohai_spec.rb +61 -0
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/solo/solo_spec.rb +5 -5
- data/spec/spec_helper.rb +12 -11
- data/spec/stress/win32/file_spec.rb +1 -1
- data/spec/support/chef_helpers.rb +2 -2
- data/spec/support/matchers/leak.rb +2 -2
- data/spec/support/platform_helpers.rb +17 -35
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/directory_resource.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +20 -20
- data/spec/support/shared/functional/securable_resource.rb +108 -27
- data/spec/support/shared/functional/win32_service.rb +2 -2
- data/spec/support/shared/functional/windows_script.rb +3 -3
- data/spec/support/shared/integration/integration_helper.rb +22 -52
- data/spec/support/shared/unit/application_dot_d.rb +5 -3
- data/spec/support/shared/unit/script_resource.rb +6 -20
- data/spec/support/shared/unit/windows_script_resource.rb +15 -28
- data/spec/tiny_server.rb +0 -1
- data/spec/unit/application/client_spec.rb +2 -2
- data/spec/unit/application/exit_code_spec.rb +10 -0
- data/spec/unit/application_spec.rb +4 -6
- data/spec/unit/chef_fs/config_spec.rb +1 -1
- data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/spec/unit/chef_fs/parallelizer_spec.rb +5 -1
- data/spec/unit/chef_fs/path_util_spec.rb +1 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +2 -2
- data/spec/unit/cookbook_spec.rb +2 -2
- data/spec/unit/data_collector/config_validation_spec.rb +208 -0
- data/spec/unit/data_collector_spec.rb +28 -117
- data/spec/unit/dsl/declare_resource_spec.rb +1 -1
- data/spec/unit/environment_spec.rb +7 -7
- data/spec/unit/file_access_control_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +20 -20
- data/spec/unit/knife/cookbook_download_spec.rb +4 -4
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
- data/spec/unit/knife/core/ui_spec.rb +1 -0
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
- data/spec/unit/knife/ssh_spec.rb +2 -2
- data/spec/unit/knife/supermarket_share_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +3 -3
- data/spec/unit/mixin/deep_merge_spec.rb +15 -0
- data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +2 -2
- data/spec/unit/mixin/template_spec.rb +30 -30
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
- data/spec/unit/node/immutable_collections_spec.rb +8 -4
- data/spec/unit/node_spec.rb +5 -5
- data/spec/unit/provider/mount/linux_spec.rb +97 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +1 -1
- data/spec/unit/provider/package/powershell_spec.rb +1 -1
- data/spec/unit/provider/package/rubygems_spec.rb +4 -1
- data/spec/unit/provider/powershell_script_spec.rb +11 -4
- data/spec/unit/provider/remote_directory_spec.rb +9 -9
- data/spec/unit/provider/route_spec.rb +0 -2
- data/spec/unit/provider/service/arch_service_spec.rb +3 -2
- data/spec/unit/provider/service/debian_service_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
- data/spec/unit/provider/service/macosx_spec.rb +3 -3
- data/spec/unit/provider/service/redhat_spec.rb +2 -2
- data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
- data/spec/unit/provider_resolver_spec.rb +6 -6
- data/spec/unit/recipe_spec.rb +1 -1
- data/spec/unit/resource/batch_spec.rb +6 -6
- data/spec/unit/resource/chef_client_cron_spec.rb +35 -14
- data/spec/unit/resource/chef_client_launchd_spec.rb +127 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +36 -1
- data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +54 -0
- data/spec/unit/resource/execute_spec.rb +113 -118
- data/spec/unit/resource/launchd_spec.rb +8 -0
- data/spec/unit/resource/osx_profile_spec.rb +299 -0
- data/spec/unit/resource/powershell_script_spec.rb +11 -29
- data/spec/unit/resource/rhsm_register_spec.rb +56 -18
- data/spec/unit/resource/script_spec.rb +6 -1
- data/spec/unit/resource/timezone_spec.rb +63 -0
- data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
- data/spec/unit/resource/windows_uac_spec.rb +1 -1
- data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
- data/spec/unit/role_spec.rb +11 -11
- data/spec/unit/run_lock_spec.rb +5 -1
- data/spec/unit/runner_spec.rb +1 -2
- data/spec/unit/shell/shell_ext_spec.rb +46 -3
- data/spec/unit/shell/shell_session_spec.rb +35 -64
- data/spec/unit/shell_spec.rb +16 -19
- data/spec/unit/train_transport_spec.rb +14 -13
- data/spec/unit/util/selinux_spec.rb +2 -0
- data/tasks/rspec.rb +1 -3
- metadata +42 -33
- data/lib/chef/dist.rb +0 -68
- data/lib/chef/provider/osx_profile.rb +0 -255
- data/spec/integration/knife/config_get_profile_spec.rb +0 -113
- data/spec/integration/knife/config_get_spec.rb +0 -191
- data/spec/integration/knife/config_list_profiles_spec.rb +0 -218
- data/spec/integration/knife/config_use_profile_spec.rb +0 -154
- data/spec/unit/provider/osx_profile_spec.rb +0 -255
@@ -20,6 +20,8 @@ require_relative "../resource"
|
|
20
20
|
class Chef
|
21
21
|
class Resource
|
22
22
|
class WindowsPagefile < Chef::Resource
|
23
|
+
unified_mode true
|
24
|
+
|
23
25
|
provides(:windows_pagefile) { true }
|
24
26
|
|
25
27
|
description "Use the **windows_pagefile** resource to configure pagefile settings on Windows."
|
@@ -109,6 +111,8 @@ class Chef
|
|
109
111
|
end
|
110
112
|
|
111
113
|
action_class do
|
114
|
+
private
|
115
|
+
|
112
116
|
# make sure the provided name property matches the appropriate format
|
113
117
|
# we do this here and not in the property itself because if automatic_managed
|
114
118
|
# is set then this validation is not necessary / doesn't make sense at all
|
@@ -22,7 +22,9 @@ require_relative "../resource"
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
24
24
|
class WindowsPrinter < Chef::Resource
|
25
|
-
|
25
|
+
unified_mode true
|
26
|
+
|
27
|
+
autoload :Resolv, "resolv"
|
26
28
|
|
27
29
|
provides(:windows_printer) { true }
|
28
30
|
|
@@ -76,34 +78,22 @@ class Chef
|
|
76
78
|
|
77
79
|
property :ipv4_address, String,
|
78
80
|
description: "The IPv4 address of the printer, such as `10.4.64.23`",
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
skip_docs: true
|
81
|
+
callbacks: {
|
82
|
+
"The ipv4_address property must be in the IPv4 format of `WWW.XXX.YYY.ZZZ`" =>
|
83
|
+
proc { |v| v.match(Resolv::IPv4::Regex) },
|
84
|
+
}
|
84
85
|
|
85
86
|
PRINTERS_REG_KEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\'.freeze unless defined?(PRINTERS_REG_KEY)
|
86
87
|
|
87
|
-
# does the printer exist
|
88
|
-
#
|
89
|
-
# @param [String] name the name of the printer
|
90
|
-
# @return [Boolean]
|
91
|
-
def printer_exists?(name)
|
92
|
-
printer_reg_key = PRINTERS_REG_KEY + name
|
93
|
-
logger.trace "Checking to see if this reg key exists: '#{printer_reg_key}'"
|
94
|
-
registry_key_exists?(printer_reg_key)
|
95
|
-
end
|
96
|
-
|
97
88
|
# @todo Set @current_resource printer properties from registry
|
98
89
|
load_current_value do |desired|
|
99
90
|
name desired.name
|
100
|
-
exists printer_exists?(desired.name)
|
101
91
|
end
|
102
92
|
|
103
93
|
action :create do
|
104
94
|
description "Create a new printer and a printer port if one doesn't already exist."
|
105
95
|
|
106
|
-
if
|
96
|
+
if printer_exists?
|
107
97
|
Chef::Log.info "#{@new_resource} already exists - nothing to do."
|
108
98
|
else
|
109
99
|
converge_by("Create #{@new_resource}") do
|
@@ -115,7 +105,7 @@ class Chef
|
|
115
105
|
action :delete do
|
116
106
|
description "Delete an existing printer. Note this does not delete the associated printer port."
|
117
107
|
|
118
|
-
if
|
108
|
+
if printer_exists?
|
119
109
|
converge_by("Delete #{@new_resource}") do
|
120
110
|
delete_printer
|
121
111
|
end
|
@@ -125,11 +115,22 @@ class Chef
|
|
125
115
|
end
|
126
116
|
|
127
117
|
action_class do
|
118
|
+
private
|
119
|
+
|
120
|
+
# does the printer exist
|
121
|
+
#
|
122
|
+
# @param [String] name the name of the printer
|
123
|
+
# @return [Boolean]
|
124
|
+
def printer_exists?
|
125
|
+
printer_reg_key = PRINTERS_REG_KEY + new_resource.name
|
126
|
+
logger.trace "Checking to see if this reg key exists: '#{printer_reg_key}'"
|
127
|
+
registry_key_exists?(printer_reg_key)
|
128
|
+
end
|
129
|
+
|
128
130
|
# creates the printer port and then the printer
|
129
131
|
def create_printer
|
130
132
|
# Create the printer port first
|
131
|
-
windows_printer_port new_resource.ipv4_address
|
132
|
-
end
|
133
|
+
windows_printer_port new_resource.ipv4_address
|
133
134
|
|
134
135
|
port_name = "IP_#{new_resource.ipv4_address}"
|
135
136
|
|
@@ -22,7 +22,9 @@ require_relative "../resource"
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
24
24
|
class WindowsPrinterPort < Chef::Resource
|
25
|
-
|
25
|
+
unified_mode true
|
26
|
+
|
27
|
+
autoload :Resolv, "resolv"
|
26
28
|
|
27
29
|
provides(:windows_printer_port) { true }
|
28
30
|
|
@@ -59,9 +61,11 @@ class Chef
|
|
59
61
|
|
60
62
|
property :ipv4_address, String,
|
61
63
|
name_property: true,
|
62
|
-
|
63
|
-
|
64
|
-
|
64
|
+
description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name.",
|
65
|
+
callbacks: {
|
66
|
+
"The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!" =>
|
67
|
+
proc { |v| v.match(Resolv::IPv4::Regex) },
|
68
|
+
}
|
65
69
|
|
66
70
|
property :port_name, String,
|
67
71
|
description: "The port name."
|
@@ -82,30 +86,19 @@ class Chef
|
|
82
86
|
validation_message: "port_protocol must be either 1 for RAW or 2 for LPR!",
|
83
87
|
default: 1, equal_to: [1, 2]
|
84
88
|
|
85
|
-
property :exists, [TrueClass, FalseClass],
|
86
|
-
skip_docs: true
|
87
|
-
|
88
89
|
PORTS_REG_KEY = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\\'.freeze unless defined?(PORTS_REG_KEY)
|
89
90
|
|
90
|
-
def port_exists?(name)
|
91
|
-
port_reg_key = PORTS_REG_KEY + name
|
92
|
-
|
93
|
-
logger.trace "Checking to see if this reg key exists: '#{port_reg_key}'"
|
94
|
-
registry_key_exists?(port_reg_key)
|
95
|
-
end
|
96
|
-
|
97
91
|
# @todo Set @current_resource port properties from registry
|
98
92
|
load_current_value do |desired|
|
99
93
|
name desired.name
|
100
94
|
ipv4_address desired.ipv4_address
|
101
95
|
port_name desired.port_name || "IP_#{desired.ipv4_address}"
|
102
|
-
exists port_exists?(desired.port_name || "IP_#{desired.ipv4_address}")
|
103
96
|
end
|
104
97
|
|
105
98
|
action :create do
|
106
99
|
description "Create the new printer port if it does not already exist."
|
107
100
|
|
108
|
-
if
|
101
|
+
if port_exists?
|
109
102
|
Chef::Log.info "#{@new_resource} already exists - nothing to do."
|
110
103
|
else
|
111
104
|
converge_by("Create #{@new_resource}") do
|
@@ -117,7 +110,7 @@ class Chef
|
|
117
110
|
action :delete do
|
118
111
|
description "Delete an existing printer port."
|
119
112
|
|
120
|
-
if
|
113
|
+
if port_exists?
|
121
114
|
converge_by("Delete #{@new_resource}") do
|
122
115
|
delete_printer_port
|
123
116
|
end
|
@@ -127,6 +120,16 @@ class Chef
|
|
127
120
|
end
|
128
121
|
|
129
122
|
action_class do
|
123
|
+
private
|
124
|
+
|
125
|
+
def port_exists?
|
126
|
+
name = new_resource.port_name || "IP_#{new_resource.ipv4_address}"
|
127
|
+
port_reg_key = PORTS_REG_KEY + name
|
128
|
+
|
129
|
+
logger.trace "Checking to see if this reg key exists: '#{port_reg_key}'"
|
130
|
+
registry_key_exists?(port_reg_key)
|
131
|
+
end
|
132
|
+
|
130
133
|
def create_printer_port
|
131
134
|
port_name = new_resource.port_name || "IP_#{new_resource.ipv4_address}"
|
132
135
|
|
@@ -26,6 +26,8 @@ require_relative "../util/path_helper"
|
|
26
26
|
class Chef
|
27
27
|
class Resource
|
28
28
|
class WindowsShare < Chef::Resource
|
29
|
+
unified_mode true
|
30
|
+
|
29
31
|
provides :windows_share
|
30
32
|
|
31
33
|
description "Use the **windows_share** resource to create, modify and remove Windows shares."
|
@@ -59,7 +61,7 @@ class Chef
|
|
59
61
|
# Specifies the path of the location of the folder to share. The path must be fully qualified. Relative paths or paths that contain wildcard characters are not permitted.
|
60
62
|
property :path, String,
|
61
63
|
description: "The path of the folder to share. Required when creating. If the share already exists on a different path then it is deleted and re-created.",
|
62
|
-
coerce: proc { |p| p.
|
64
|
+
coerce: proc { |p| p.tr("/", "\\") || p }
|
63
65
|
|
64
66
|
# Specifies an optional description of the SMB share. A description of the share is displayed by running the Get-SmbShare cmdlet. The description may not contain more than 256 characters.
|
65
67
|
property :description, String,
|
@@ -117,8 +119,6 @@ class Chef
|
|
117
119
|
# Specifies which files and folders in the SMB share are visible to users. AccessBased: SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By default, access-based enumeration is disabled for new SMB shares. Unrestricted: SMB displays files and folders to a user even when the user does not have permission to access the items.
|
118
120
|
# property :folder_enumeration_mode, String, equal_to: %(AccessBased Unrestricted)
|
119
121
|
|
120
|
-
include Chef::Mixin::PowershellOut
|
121
|
-
|
122
122
|
load_current_value do |desired|
|
123
123
|
# this command selects individual objects because EncryptData & CachingMode have underlying
|
124
124
|
# types that get converted to their Integer values by ConvertTo-Json & we need to make sure
|
@@ -233,6 +233,8 @@ class Chef
|
|
233
233
|
end
|
234
234
|
|
235
235
|
action_class do
|
236
|
+
private
|
237
|
+
|
236
238
|
def different_path?
|
237
239
|
return false if current_resource.nil? # going from nil to something isn't different for our concerns
|
238
240
|
return false if current_resource.path == Chef::Util::PathHelper.cleanpath(new_resource.path)
|
@@ -21,6 +21,8 @@ require_relative "../resource"
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
23
23
|
class WindowsShortcut < Chef::Resource
|
24
|
+
unified_mode true
|
25
|
+
|
24
26
|
provides(:windows_shortcut) { true }
|
25
27
|
|
26
28
|
description "Use the **windows_shortcut** resource to create shortcut files on Windows."
|
@@ -20,6 +20,8 @@ require_relative "../resource"
|
|
20
20
|
class Chef
|
21
21
|
class Resource
|
22
22
|
class WindowsUac < Chef::Resource
|
23
|
+
unified_mode true
|
24
|
+
|
23
25
|
provides :windows_uac
|
24
26
|
|
25
27
|
description 'The *windows_uac* resource configures UAC on Windows hosts by setting registry keys at `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System`'
|
@@ -21,51 +21,7 @@ require_relative "../resource"
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
23
23
|
class WindowsUserPrivilege < Chef::Resource
|
24
|
-
|
25
|
-
SeNetworkLogonRight
|
26
|
-
SeTcbPrivilege
|
27
|
-
SeMachineAccountPrivilege
|
28
|
-
SeIncreaseQuotaPrivilege
|
29
|
-
SeInteractiveLogonRight
|
30
|
-
SeRemoteInteractiveLogonRight
|
31
|
-
SeBackupPrivilege
|
32
|
-
SeChangeNotifyPrivilege
|
33
|
-
SeSystemtimePrivilege
|
34
|
-
SeTimeZonePrivilege
|
35
|
-
SeCreatePagefilePrivilege
|
36
|
-
SeCreateTokenPrivilege
|
37
|
-
SeCreateGlobalPrivilege
|
38
|
-
SeCreatePermanentPrivilege
|
39
|
-
SeCreateSymbolicLinkPrivilege
|
40
|
-
SeDebugPrivilege
|
41
|
-
SeDenyNetworkLogonRight
|
42
|
-
SeDenyBatchLogonRight
|
43
|
-
SeDenyServiceLogonRight
|
44
|
-
SeDenyInteractiveLogonRight
|
45
|
-
SeDenyRemoteInteractiveLogonRight
|
46
|
-
SeEnableDelegationPrivilege
|
47
|
-
SeRemoteShutdownPrivilege
|
48
|
-
SeAuditPrivilege
|
49
|
-
SeImpersonatePrivilege
|
50
|
-
SeIncreaseWorkingSetPrivilege
|
51
|
-
SeIncreaseBasePriorityPrivilege
|
52
|
-
SeLoadDriverPrivilege
|
53
|
-
SeLockMemoryPrivilege
|
54
|
-
SeBatchLogonRight
|
55
|
-
SeServiceLogonRight
|
56
|
-
SeSecurityPrivilege
|
57
|
-
SeRelabelPrivilege
|
58
|
-
SeSystemEnvironmentPrivilege
|
59
|
-
SeManageVolumePrivilege
|
60
|
-
SeProfileSingleProcessPrivilege
|
61
|
-
SeSystemProfilePrivilege
|
62
|
-
SeUndockPrivilege
|
63
|
-
SeAssignPrimaryTokenPrivilege
|
64
|
-
SeRestorePrivilege
|
65
|
-
SeShutdownPrivilege
|
66
|
-
SeSyncAgentPrivilege
|
67
|
-
SeTakeOwnershipPrivilege
|
68
|
-
}
|
24
|
+
unified_mode true
|
69
25
|
|
70
26
|
provides :windows_user_privilege
|
71
27
|
description "The windows_user_privilege resource allows to add and set principal (User/Group) to the specified privilege.\n Ref: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/user-rights-assignment"
|
@@ -123,22 +79,67 @@ class Chef
|
|
123
79
|
```
|
124
80
|
DOC
|
125
81
|
|
82
|
+
PRIVILEGE_OPTS = %w{ SeAssignPrimaryTokenPrivilege
|
83
|
+
SeAuditPrivilege
|
84
|
+
SeBackupPrivilege
|
85
|
+
SeBatchLogonRight
|
86
|
+
SeChangeNotifyPrivilege
|
87
|
+
SeCreateGlobalPrivilege
|
88
|
+
SeCreatePagefilePrivilege
|
89
|
+
SeCreatePermanentPrivilege
|
90
|
+
SeCreateSymbolicLinkPrivilege
|
91
|
+
SeCreateTokenPrivilege
|
92
|
+
SeDebugPrivilege
|
93
|
+
SeDenyBatchLogonRight
|
94
|
+
SeDenyInteractiveLogonRight
|
95
|
+
SeDenyNetworkLogonRight
|
96
|
+
SeDenyRemoteInteractiveLogonRight
|
97
|
+
SeDenyServiceLogonRight
|
98
|
+
SeEnableDelegationPrivilege
|
99
|
+
SeImpersonatePrivilege
|
100
|
+
SeIncreaseBasePriorityPrivilege
|
101
|
+
SeIncreaseQuotaPrivilege
|
102
|
+
SeIncreaseWorkingSetPrivilege
|
103
|
+
SeInteractiveLogonRight
|
104
|
+
SeLoadDriverPrivilege
|
105
|
+
SeLockMemoryPrivilege
|
106
|
+
SeMachineAccountPrivilege
|
107
|
+
SeManageVolumePrivilege
|
108
|
+
SeNetworkLogonRight
|
109
|
+
SeProfileSingleProcessPrivilege
|
110
|
+
SeRelabelPrivilege
|
111
|
+
SeRemoteInteractiveLogonRight
|
112
|
+
SeRemoteShutdownPrivilege
|
113
|
+
SeRestorePrivilege
|
114
|
+
SeSecurityPrivilege
|
115
|
+
SeServiceLogonRight
|
116
|
+
SeShutdownPrivilege
|
117
|
+
SeSyncAgentPrivilege
|
118
|
+
SeSystemEnvironmentPrivilege
|
119
|
+
SeSystemProfilePrivilege
|
120
|
+
SeSystemtimePrivilege
|
121
|
+
SeTakeOwnershipPrivilege
|
122
|
+
SeTcbPrivilege
|
123
|
+
SeTimeZonePrivilege
|
124
|
+
SeTrustedCredManAccessPrivilege
|
125
|
+
SeUndockPrivilege
|
126
|
+
}.freeze
|
127
|
+
|
126
128
|
property :principal, String,
|
127
129
|
description: "An optional property to add the user to the given privilege. Use only with add and remove action.",
|
128
130
|
name_property: true
|
129
131
|
|
130
|
-
property :users, Array,
|
131
|
-
description: "An optional property to set the privilege for given users. Use only with set action."
|
132
|
+
property :users, [Array, String],
|
133
|
+
description: "An optional property to set the privilege for given users. Use only with set action.",
|
134
|
+
coerce: proc { |v| Array(v) }
|
132
135
|
|
133
136
|
property :privilege, [Array, String],
|
134
|
-
description: "
|
137
|
+
description: "One or more privileges to set for users.",
|
135
138
|
required: true,
|
136
|
-
coerce: proc { |v| v
|
139
|
+
coerce: proc { |v| Array(v) },
|
137
140
|
callbacks: {
|
138
|
-
|
139
|
-
|
140
|
-
},
|
141
|
-
}
|
141
|
+
"Privilege property restricted to the following values: #{PRIVILEGE_OPTS}" => lambda { |n| (n - PRIVILEGE_OPTS).empty? },
|
142
|
+
}
|
142
143
|
|
143
144
|
load_current_value do |new_resource|
|
144
145
|
if new_resource.principal && (new_resource.action.include?(:add) || new_resource.action.include?(:remove))
|
@@ -16,16 +16,13 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
20
|
-
require_relative "../dist"
|
19
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
21
20
|
|
22
21
|
class Chef
|
23
22
|
class Resource
|
24
23
|
class WindowsWorkgroup < Chef::Resource
|
25
24
|
provides :windows_workgroup
|
26
25
|
|
27
|
-
include Chef::Mixin::PowershellOut
|
28
|
-
|
29
26
|
description "Use the **windows_workgroup** resource to join or change the workgroup of a Windows host."
|
30
27
|
introduced "14.5"
|
31
28
|
examples <<~DOC
|
@@ -57,12 +54,13 @@ class Chef
|
|
57
54
|
|
58
55
|
property :password, String,
|
59
56
|
description: "The password for the local administrator user. Required if using the `user` property.",
|
57
|
+
sensitive: true,
|
60
58
|
desired_state: false
|
61
59
|
|
62
60
|
property :reboot, Symbol,
|
63
61
|
equal_to: %i{never request_reboot reboot_now},
|
64
|
-
validation_message: "The reboot property accepts :immediate (reboot as soon as the resource completes), :delayed (reboot once the #{
|
65
|
-
description: "Controls the system reboot behavior post workgroup joining. Reboot immediately, after the #{
|
62
|
+
validation_message: "The reboot property accepts :immediate (reboot as soon as the resource completes), :delayed (reboot once the #{ChefUtils::Dist::Infra::PRODUCT} run completes), and :never (Don't reboot)",
|
63
|
+
description: "Controls the system reboot behavior post workgroup joining. Reboot immediately, after the #{ChefUtils::Dist::Infra::PRODUCT} run completes, or never. Note that a reboot is necessary for changes to take effect.",
|
66
64
|
coerce: proc { |x| clarify_reboot(x) },
|
67
65
|
default: :immediate, desired_state: false
|
68
66
|
|
@@ -83,6 +81,7 @@ class Chef
|
|
83
81
|
end
|
84
82
|
|
85
83
|
# define this again so we can default it to true. Otherwise failures print the password
|
84
|
+
# FIXME: this should now be unnecessary with the password property itself marked sensitive?
|
86
85
|
property :sensitive, [TrueClass, FalseClass],
|
87
86
|
default: true, desired_state: false
|
88
87
|
|
@@ -17,7 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require_relative "package"
|
20
|
-
|
20
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
21
21
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
@@ -135,7 +135,7 @@ class Chef
|
|
135
135
|
coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
|
136
136
|
|
137
137
|
property :flush_cache, Hash,
|
138
|
-
description: "Flush the in-memory cache before or after a Yum operation that installs, upgrades, or removes a package. Accepts a Hash in the form: { :before => true/false, :after => true/false } or an Array in the form [ :before, :after ].\nYum automatically synchronizes remote metadata to a local cache. The #{
|
138
|
+
description: "Flush the in-memory cache before or after a Yum operation that installs, upgrades, or removes a package. Accepts a Hash in the form: { :before => true/false, :after => true/false } or an Array in the form [ :before, :after ].\nYum automatically synchronizes remote metadata to a local cache. The #{ChefUtils::Dist::Infra::CLIENT} creates a copy of the local cache, and then stores it in-memory during the #{ChefUtils::Dist::Infra::CLIENT} run. The in-memory cache allows packages to be installed during the #{ChefUtils::Dist::Infra::CLIENT} run without the need to continue synchronizing the remote metadata to the local cache while the #{ChefUtils::Dist::Infra::CLIENT} run is in-progress.",
|
139
139
|
default: { before: false, after: false },
|
140
140
|
coerce: proc { |v|
|
141
141
|
if v.is_a?(Hash)
|