chef 16.3.45-universal-mingw32 → 16.5.77-universal-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -15,7 +15,7 @@
|
|
15
15
|
#
|
16
16
|
|
17
17
|
require_relative "../resource"
|
18
|
-
|
18
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
19
19
|
|
20
20
|
class Chef
|
21
21
|
class Resource
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
|
25
25
|
unified_mode true
|
26
26
|
|
27
|
-
description "Use the **chef_sleep** resource to pause (sleep) for a number of seconds during a #{
|
27
|
+
description "Use the **chef_sleep** resource to pause (sleep) for a number of seconds during a #{ChefUtils::Dist::Infra::PRODUCT} run. Only use this resource when a command or service exits successfully but is not ready for the next step in a recipe."
|
28
28
|
introduced "15.5"
|
29
29
|
examples <<~DOC
|
30
30
|
**Sleep for 10 seconds**:
|
@@ -16,7 +16,7 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
19
|
+
autoload :ChefVault, "chef-vault"
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
@@ -73,19 +73,19 @@ class Chef
|
|
73
73
|
description: "The Chef environment of the data if storing per environment values."
|
74
74
|
|
75
75
|
load_current_value do
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
76
|
+
|
77
|
+
item = ChefVault::Item.load(data_bag, id)
|
78
|
+
raw_data item.raw_data
|
79
|
+
clients item.get_clients
|
80
|
+
admins item.get_admins
|
81
|
+
search item.search
|
82
|
+
rescue ChefVault::Exceptions::SecretDecryption
|
83
|
+
current_value_does_not_exist!
|
84
|
+
rescue ChefVault::Exceptions::KeysNotFound
|
85
|
+
current_value_does_not_exist!
|
86
|
+
rescue Net::HTTPClientException => e
|
87
|
+
current_value_does_not_exist! if e.response_code == "404"
|
88
|
+
|
89
89
|
end
|
90
90
|
|
91
91
|
action :create do
|
@@ -21,7 +21,7 @@
|
|
21
21
|
require_relative "file"
|
22
22
|
require_relative "../provider/cookbook_file"
|
23
23
|
require_relative "../mixin/securable"
|
24
|
-
|
24
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
25
25
|
|
26
26
|
class Chef
|
27
27
|
class Resource
|
@@ -31,7 +31,7 @@ class Chef
|
|
31
31
|
|
32
32
|
provides :cookbook_file
|
33
33
|
|
34
|
-
description "Use the **cookbook_file** resource to transfer files from a sub-directory of COOKBOOK_NAME/files/ to a specified path located on a host that is running the #{
|
34
|
+
description "Use the **cookbook_file** resource to transfer files from a sub-directory of COOKBOOK_NAME/files/ to a specified path located on a host that is running the #{ChefUtils::Dist::Infra::PRODUCT}. The file is selected according to file specificity, which allows different source files to be used based on the hostname, host platform (operating system, distro, or as appropriate), or platform version. Files that are located in the COOKBOOK_NAME/files/default sub-directory may be used on any platform.\n\nDuring a #{ChefUtils::Dist::Infra::PRODUCT} run, the checksum for each local file is calculated and then compared against the checksum for the same file as it currently exists in the cookbook on the #{ChefUtils::Dist::Server::PRODUCT}. A file is not transferred when the checksums match. Only files that require an update are transferred from the #{ChefUtils::Dist::Server::PRODUCT} to a node."
|
35
35
|
|
36
36
|
property :source, [ String, Array ],
|
37
37
|
description: "The name of the file in COOKBOOK_NAME/files/default or the path to a file located in COOKBOOK_NAME/files. The path must include the file name and its extension. This can be used to distribute specific files depending upon the platform used.",
|
@@ -18,7 +18,7 @@
|
|
18
18
|
require_relative "package"
|
19
19
|
require_relative "../mixin/which"
|
20
20
|
require_relative "../mixin/shell_out"
|
21
|
-
|
21
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
22
22
|
|
23
23
|
class Chef
|
24
24
|
class Resource
|
@@ -52,7 +52,7 @@ class Chef
|
|
52
52
|
|
53
53
|
# Flush the in-memory available/installed cache, this does not flush the dnf caches on disk
|
54
54
|
property :flush_cache, Hash,
|
55
|
-
description: "Flush the in-memory cache before or after a DNF operation that installs, upgrades, or removes a package. DNF automatically synchronizes remote metadata to a local cache. The #{
|
55
|
+
description: "Flush the in-memory cache before or after a DNF operation that installs, upgrades, or removes a package. DNF 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.",
|
56
56
|
default: { before: false, after: false },
|
57
57
|
coerce: proc { |v|
|
58
58
|
if v.is_a?(Hash)
|
@@ -19,7 +19,7 @@
|
|
19
19
|
require_relative "../resource"
|
20
20
|
require_relative "../exceptions"
|
21
21
|
require_relative "../dsl/powershell"
|
22
|
-
|
22
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
23
23
|
|
24
24
|
class Chef
|
25
25
|
class Resource
|
@@ -29,7 +29,7 @@ class Chef
|
|
29
29
|
unified_mode true
|
30
30
|
provides :dsc_script
|
31
31
|
|
32
|
-
description "Many DSC resources are comparable to built-in #{
|
32
|
+
description "Many DSC resources are comparable to built-in #{ChefUtils::Dist::Infra::PRODUCT} resources. For example, both DSC and #{ChefUtils::Dist::Infra::PRODUCT} have file, package, and service resources. The dsc_script resource is most useful for those DSC resources that do not have a direct comparison to a resource in #{ChefUtils::Dist::Infra::PRODUCT}, such as the Archive resource, a custom DSC resource, an existing DSC script that performs an important task, and so on. Use the dsc_script resource to embed the code that defines a DSC configuration directly within a #{ChefUtils::Dist::Infra::PRODUCT} recipe."
|
33
33
|
|
34
34
|
default_action :run
|
35
35
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
#
|
19
19
|
|
20
20
|
require_relative "../resource"
|
21
|
-
|
21
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
22
22
|
|
23
23
|
class Chef
|
24
24
|
class Resource
|
@@ -161,11 +161,11 @@ class Chef
|
|
161
161
|
|
162
162
|
```ruby
|
163
163
|
execute 'test_rule' do
|
164
|
-
command
|
164
|
+
command "command_to_run
|
165
165
|
--option value
|
166
166
|
--option value
|
167
167
|
--source \#{node[:name_of_node][:ipsec][:local][:subnet]}
|
168
|
-
-j test_rule
|
168
|
+
-j test_rule"
|
169
169
|
|
170
170
|
action :nothing
|
171
171
|
end
|
@@ -509,7 +509,6 @@ class Chef
|
|
509
509
|
def initialize(name, run_context = nil)
|
510
510
|
super
|
511
511
|
@command = name
|
512
|
-
@backup = 5
|
513
512
|
@default_guard_interpreter = :execute
|
514
513
|
@is_guard_interpreter = false
|
515
514
|
end
|
@@ -534,7 +533,7 @@ class Chef
|
|
534
533
|
description: "The group name or group ID that must be changed before running a command."
|
535
534
|
|
536
535
|
property :live_stream, [ TrueClass, FalseClass ], default: false,
|
537
|
-
description: "Send the output of the command run by this execute resource block to the #{
|
536
|
+
description: "Send the output of the command run by this execute resource block to the #{ChefUtils::Dist::Infra::PRODUCT} event stream."
|
538
537
|
|
539
538
|
# default_env defaults to `false` so that the command execution more exactly matches what the user gets on the command line without magic
|
540
539
|
property :default_env, [ TrueClass, FalseClass ], desired_state: false, default: false,
|
@@ -554,7 +553,7 @@ class Chef
|
|
554
553
|
|
555
554
|
property :domain, String,
|
556
555
|
introduced: "12.21",
|
557
|
-
description: "Windows only: The domain of the user user specified by the user property. If not specified, the user name and password specified by the user and password properties will be used to resolve that user against the domain in which the system running #{
|
556
|
+
description: "Windows only: The domain of the user user specified by the user property. If not specified, the user name and password specified by the user and password properties will be used to resolve that user against the domain in which the system running #{ChefUtils::Dist::Infra::PRODUCT} is joined, or if that system is not joined to a domain it will resolve the user as a local account on that system. An alternative way to specify the domain is to leave this property unspecified and specify the domain as part of the user property."
|
558
557
|
|
559
558
|
property :password, String, sensitive: true,
|
560
559
|
introduced: "12.21",
|
@@ -562,11 +561,11 @@ class Chef
|
|
562
561
|
|
563
562
|
# lazy used to set default value of sensitive to true if password is set
|
564
563
|
property :sensitive, [ TrueClass, FalseClass ],
|
565
|
-
description: "Ensure that sensitive resource data is not logged by the #{
|
564
|
+
description: "Ensure that sensitive resource data is not logged by the #{ChefUtils::Dist::Infra::PRODUCT}.",
|
566
565
|
default: lazy { password ? true : false }, default_description: "True if the password property is set. False otherwise."
|
567
566
|
|
568
567
|
property :elevated, [ TrueClass, FalseClass ], default: false,
|
569
|
-
description: "Determines whether the script will run with elevated permissions to circumvent User Access Control (UAC) interactively blocking the process.\nThis will cause the process to be run under a batch login instead of an interactive login. The user running #{
|
568
|
+
description: "Determines whether the script will run with elevated permissions to circumvent User Access Control (UAC) interactively blocking the process.\nThis will cause the process to be run under a batch login instead of an interactive login. The user running #{ChefUtils::Dist::Infra::CLIENT} needs the 'Replace a process level token' and 'Adjust Memory Quotas for a process' permissions. The user that is running the command needs the 'Log on as a batch job' permission.\nBecause this requires a login, the user and password properties are required.",
|
570
569
|
introduced: "13.3"
|
571
570
|
|
572
571
|
property :input, [String],
|
@@ -588,7 +587,7 @@ class Chef
|
|
588
587
|
ancestor_attributes = superclass.guard_inherited_attributes
|
589
588
|
end
|
590
589
|
|
591
|
-
ancestor_attributes.concat(@class_inherited_attributes
|
590
|
+
ancestor_attributes.concat(@class_inherited_attributes || []).uniq
|
592
591
|
end
|
593
592
|
|
594
593
|
# post resource creation validation
|
data/lib/chef/resource/file.rb
CHANGED
@@ -22,7 +22,7 @@ require_relative "../platform/query_helpers"
|
|
22
22
|
require_relative "../mixin/securable"
|
23
23
|
require_relative "file/verification"
|
24
24
|
require "pathname" unless defined?(Pathname)
|
25
|
-
|
25
|
+
require "chef-utils" unless defined?(ChefUtils::CANARY)
|
26
26
|
|
27
27
|
class Chef
|
28
28
|
class Resource
|
@@ -56,7 +56,7 @@ class Chef
|
|
56
56
|
allowed_actions :create, :delete, :touch, :create_if_missing
|
57
57
|
|
58
58
|
property :path, String, name_property: true,
|
59
|
-
description: "The full path to the file, including the file name and its extension. For example: /files/file.txt. Default value: the name of the resource block. Microsoft Windows: A path that begins with a forward slash (/) will point to the root of the current working directory of the #{
|
59
|
+
description: "The full path to the file, including the file name and its extension. For example: /files/file.txt. Default value: the name of the resource block. Microsoft Windows: A path that begins with a forward slash (/) will point to the root of the current working directory of the #{ChefUtils::Dist::Infra::CLIENT} process. This path can vary from system to system. Therefore, using a path that begins with a forward slash (/) is not recommended."
|
60
60
|
|
61
61
|
property :atomic_update, [ TrueClass, FalseClass ], desired_state: false, default: lazy { docker? && special_docker_files?(path) ? false : Chef::Config[:file_atomic_update] },
|
62
62
|
default_description: "False if modifying /etc/hosts, /etc/hostname, or /etc/resolv.conf within Docker containers. Otherwise default to the client.rb 'file_atomic_update' config value.",
|
@@ -76,10 +76,10 @@ class Chef
|
|
76
76
|
property :diff, [ String, nil ], desired_state: false, skip_docs: true
|
77
77
|
|
78
78
|
property :force_unlink, [ TrueClass, FalseClass ], desired_state: false, default: false,
|
79
|
-
description: "How #{
|
79
|
+
description: "How #{ChefUtils::Dist::Infra::PRODUCT} handles certain situations when the target file turns out not to be a file. For example, when a target file is actually a symlink. Set to `true` for #{ChefUtils::Dist::Infra::PRODUCT} to delete the non-file target and replace it with the specified file. Set to `false` for #{ChefUtils::Dist::Infra::PRODUCT} to raise an error."
|
80
80
|
|
81
81
|
property :manage_symlink_source, [ TrueClass, FalseClass ], desired_state: false,
|
82
|
-
description: "Change the behavior of the file resource if it is pointed at a symlink. When this value is set to true, #{
|
82
|
+
description: "Change the behavior of the file resource if it is pointed at a symlink. When this value is set to true, #{ChefUtils::Dist::Infra::PRODUCT} will manage the symlink's permissions or will replace the symlink with a normal file if the resource has content. When this value is set to false, #{ChefUtils::Dist::Infra::PRODUCT} will follow the symlink and will manage the permissions and content of symlink's target file. The default behavior is true but emits a warning that the default value will be changed to false in a future version; setting this explicitly to true or false suppresses this warning."
|
83
83
|
|
84
84
|
property :verifications, Array, default: lazy { [] }
|
85
85
|
|
@@ -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
|
@@ -31,10 +31,10 @@ class Chef
|
|
31
31
|
|
32
32
|
Note: The **gem_package** resource must be specified as `gem_package` and cannot be shortened to `package` in a recipe.
|
33
33
|
|
34
|
-
Warning: The **chef_gem** and **gem_package** resources are both used to install Ruby gems. For any machine on which #{
|
34
|
+
Warning: The **chef_gem** and **gem_package** resources are both used to install Ruby gems. For any machine on which #{ChefUtils::Dist::Infra::PRODUCT} is
|
35
35
|
installed, there are two instances of Ruby. One is the standard, system-wide instance of Ruby and the other is a dedicated instance that is
|
36
|
-
available only to #{
|
37
|
-
Use the **chef_gem** resource to install gems into the instance of Ruby that is dedicated to #{
|
36
|
+
available only to #{ChefUtils::Dist::Infra::PRODUCT}.
|
37
|
+
Use the **chef_gem** resource to install gems into the instance of Ruby that is dedicated to #{ChefUtils::Dist::Infra::PRODUCT}.
|
38
38
|
Use the **gem_package** resource to install all other gems (i.e. install gems system-wide).
|
39
39
|
DESC
|
40
40
|
|
@@ -86,7 +86,7 @@ class Chef
|
|
86
86
|
default: lazy { Chef::Config[:clear_gem_sources] }, desired_state: false
|
87
87
|
|
88
88
|
property :gem_binary, String, desired_state: false,
|
89
|
-
description: "The path of a gem binary to use for the installation. By default, the same version of Ruby that is used by #{
|
89
|
+
description: "The path of a gem binary to use for the installation. By default, the same version of Ruby that is used by #{ChefUtils::Dist::Infra::PRODUCT} will be used."
|
90
90
|
|
91
91
|
property :include_default_source, [ TrueClass, FalseClass, nil ],
|
92
92
|
description: "Set to `false` to not include `Chef::Config[:rubygems_url]` in the sources.",
|
@@ -19,7 +19,7 @@
|
|
19
19
|
|
20
20
|
require_relative "../provider/package"
|
21
21
|
require_relative "package"
|
22
|
-
|
22
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
23
23
|
|
24
24
|
class Chef
|
25
25
|
class Resource
|
@@ -29,7 +29,7 @@ class Chef
|
|
29
29
|
provides :homebrew_package
|
30
30
|
provides :package, os: "darwin"
|
31
31
|
|
32
|
-
description "Use the **homebrew_package** resource to manage packages for the macOS platform. Note: Starting with #{
|
32
|
+
description "Use the **homebrew_package** resource to manage packages for the macOS platform. Note: Starting with #{ChefUtils::Dist::Infra::PRODUCT} 16 the homebrew resource now accepts an array of packages for installing multiple packages at once."
|
33
33
|
introduced "12.0"
|
34
34
|
examples <<~DOC
|
35
35
|
**Install a package**:
|
@@ -62,7 +62,7 @@ class Chef
|
|
62
62
|
DOC
|
63
63
|
|
64
64
|
property :homebrew_user, [ String, Integer ],
|
65
|
-
description: "The name or uid of the Homebrew owner to be used by #{
|
65
|
+
description: "The name or uid of the Homebrew owner to be used by #{ChefUtils::Dist::Infra::PRODUCT} when executing a command."
|
66
66
|
|
67
67
|
end
|
68
68
|
end
|
@@ -19,7 +19,7 @@
|
|
19
19
|
#
|
20
20
|
|
21
21
|
require_relative "../resource"
|
22
|
-
|
22
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
23
23
|
|
24
24
|
class Chef
|
25
25
|
class Resource
|
@@ -38,7 +38,7 @@ class Chef
|
|
38
38
|
action :periodic
|
39
39
|
end
|
40
40
|
```
|
41
|
-
**Update the Homebrew repository at the start of a #{
|
41
|
+
**Update the Homebrew repository at the start of a #{ChefUtils::Dist::Infra::PRODUCT} run**:
|
42
42
|
```ruby
|
43
43
|
homebrew_update 'update'
|
44
44
|
```
|
@@ -62,8 +62,8 @@ class Chef
|
|
62
62
|
#
|
63
63
|
# @return [Boolean]
|
64
64
|
def brew_up_to_date?
|
65
|
-
::File.exist?(
|
66
|
-
::File.mtime(
|
65
|
+
::File.exist?(BREW_STAMP) &&
|
66
|
+
::File.mtime(BREW_STAMP) > Time.now - new_resource.frequency
|
67
67
|
end
|
68
68
|
|
69
69
|
def do_update
|
@@ -71,7 +71,7 @@ class Chef
|
|
71
71
|
recursive true
|
72
72
|
end
|
73
73
|
|
74
|
-
file
|
74
|
+
file BREW_STAMP do
|
75
75
|
content "BREW::Update::Post-Invoke-Success\n"
|
76
76
|
action :create_if_missing
|
77
77
|
end
|
@@ -86,7 +86,7 @@ class Chef
|
|
86
86
|
end
|
87
87
|
|
88
88
|
action :periodic do
|
89
|
-
return unless
|
89
|
+
return unless macos?
|
90
90
|
|
91
91
|
unless brew_up_to_date?
|
92
92
|
converge_by "update new lists of packages" do
|
@@ -96,7 +96,7 @@ class Chef
|
|
96
96
|
end
|
97
97
|
|
98
98
|
action :update do
|
99
|
-
return unless
|
99
|
+
return unless macos?
|
100
100
|
|
101
101
|
converge_by "force update new lists of packages" do
|
102
102
|
do_update
|
@@ -16,7 +16,7 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
19
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
@@ -248,7 +248,7 @@ class Chef
|
|
248
248
|
|
249
249
|
# reboot because $windows
|
250
250
|
reboot "setting hostname" do
|
251
|
-
reason "#{
|
251
|
+
reason "#{ChefUtils::Dist::Infra::PRODUCT} updated system hostname"
|
252
252
|
only_if { new_resource.windows_reboot }
|
253
253
|
action :request_reboot
|
254
254
|
end
|
@@ -187,7 +187,8 @@ class Chef
|
|
187
187
|
description: "Specify services to be registered with the bootstrap subsystem."
|
188
188
|
|
189
189
|
property :nice, Integer,
|
190
|
-
description: "The program scheduling priority value in the range -20 to
|
190
|
+
description: "The program scheduling priority value in the range -20 to 19.",
|
191
|
+
callbacks: { "should be a Integer between -20 and 19" => proc { |v| v >= -20 && v <= 19 } }
|
191
192
|
|
192
193
|
property :on_demand, [ TrueClass, FalseClass ],
|
193
194
|
description: "Keep a job alive. Only applies to macOS version 10.4 (and earlier); use keep_alive instead for newer versions."
|
data/lib/chef/resource/locale.rb
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
19
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
@@ -71,7 +71,7 @@ class Chef
|
|
71
71
|
#
|
72
72
|
def lc_all(arg = nil)
|
73
73
|
unless arg.nil?
|
74
|
-
Chef.deprecated(:locale_lc_all, "Changing LC_ALL can break #{
|
74
|
+
Chef.deprecated(:locale_lc_all, "Changing LC_ALL can break #{ChefUtils::Dist::Infra::PRODUCT}'s parsing of command output in unexpected ways.\n Use one of the more specific LC_ properties as needed.")
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -16,8 +16,8 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
20
|
-
|
19
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
20
|
+
autoload :Plist, "plist"
|
21
21
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
@@ -97,7 +97,7 @@ class Chef
|
|
97
97
|
desired_state: false
|
98
98
|
|
99
99
|
property :sudo, [TrueClass, FalseClass],
|
100
|
-
description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the '/usr/bin/defaults' command to be setup for the user running #{
|
100
|
+
description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the '/usr/bin/defaults' command to be setup for the user running #{ChefUtils::Dist::Infra::PRODUCT}.",
|
101
101
|
default: false,
|
102
102
|
desired_state: false
|
103
103
|
|
data/lib/chef/resource/ohai.rb
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
#
|
20
20
|
|
21
21
|
require_relative "../resource"
|
22
|
-
|
22
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
23
23
|
require "ohai" unless defined?(Ohai::System)
|
24
24
|
|
25
25
|
class Chef
|
@@ -29,10 +29,53 @@ class Chef
|
|
29
29
|
|
30
30
|
provides :ohai
|
31
31
|
|
32
|
-
description "Use the **ohai** resource to reload the Ohai configuration on a node. This allows recipes that change system attributes (like a recipe that adds a user) to refer to those attributes later on during the #{
|
32
|
+
description "Use the **ohai** resource to reload the Ohai configuration on a node. This allows recipes that change system attributes (like a recipe that adds a user) to refer to those attributes later on during the #{ChefUtils::Dist::Infra::PRODUCT} run."
|
33
|
+
|
34
|
+
examples <<~DOC
|
35
|
+
Reload All Ohai Plugins
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
ohai 'reload' do
|
39
|
+
action :reload
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
Reload A Single Ohai Plugin
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
ohai 'reload' do
|
47
|
+
plugin 'ipaddress'
|
48
|
+
action :reload
|
49
|
+
end
|
50
|
+
```
|
51
|
+
|
52
|
+
Reload Ohai after a new user is created
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
ohai 'reload_passwd' do
|
56
|
+
action :nothing
|
57
|
+
plugin 'etc'
|
58
|
+
end
|
59
|
+
|
60
|
+
user 'daemon_user' do
|
61
|
+
home '/dev/null'
|
62
|
+
shell '/sbin/nologin'
|
63
|
+
system true
|
64
|
+
notifies :reload, 'ohai[reload_passwd]', :immediately
|
65
|
+
end
|
66
|
+
|
67
|
+
ruby_block 'just an example' do
|
68
|
+
block do
|
69
|
+
# These variables will now have the new values
|
70
|
+
puts node['etc']['passwd']['daemon_user']['uid']
|
71
|
+
puts node['etc']['passwd']['daemon_user']['gid']
|
72
|
+
end
|
73
|
+
end
|
74
|
+
```
|
75
|
+
DOC
|
33
76
|
|
34
77
|
property :plugin, String,
|
35
|
-
description: "
|
78
|
+
description: "Specific Ohai attribute data to reload. This property behaves similar to specifying attributes when running Ohai on the command line and takes the attribute that you wish to reload instead of the actual plugin name. For instance, you can pass `ipaddress` to reload `node['ipaddress']` even though that data comes from the `Network` plugin. If this property is not specified, #{ChefUtils::Dist::Infra::PRODUCT} will reload all plugins."
|
36
79
|
|
37
80
|
def load_current_resource
|
38
81
|
true
|