chef 15.1.36-universal-mingw32 → 15.2.20-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/bin/knife +0 -0
- data/ext/win32-eventlog/Rakefile +1 -1
- data/lib/chef.rb +1 -2
- data/lib/chef/action_collection.rb +8 -0
- data/lib/chef/api_client.rb +2 -2
- data/lib/chef/api_client/registration.rb +8 -7
- data/lib/chef/api_client_v1.rb +2 -1
- data/lib/chef/application.rb +1 -0
- data/lib/chef/application/apply.rb +1 -1
- data/lib/chef/application/base.rb +440 -0
- data/lib/chef/application/client.rb +6 -389
- data/lib/chef/application/solo.rb +11 -258
- data/lib/chef/application/windows_service.rb +3 -3
- data/lib/chef/application/windows_service_manager.rb +3 -3
- data/lib/chef/blacklist.rb +1 -1
- data/lib/chef/chef_fs/chef_fs_data_store.rb +15 -7
- data/lib/chef/chef_fs/command_line.rb +6 -1
- data/lib/chef/chef_fs/config.rb +3 -2
- data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/data_handler_base.rb +1 -1
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +2 -2
- data/lib/chef/chef_fs/file_pattern.rb +13 -7
- data/lib/chef/chef_fs/file_system.rb +3 -2
- data/lib/chef/chef_fs/file_system/base_fs_object.rb +13 -6
- data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +8 -5
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +4 -2
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -0
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -0
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +6 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +6 -4
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +6 -4
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -0
- data/lib/chef/chef_fs/file_system/repository/directory.rb +5 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +4 -2
- data/lib/chef/chef_fs/file_system_cache.rb +1 -0
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +2 -1
- data/lib/chef/chef_fs/path_utils.rb +3 -0
- data/lib/chef/client.rb +4 -2
- data/lib/chef/config.rb +1 -1
- data/lib/chef/cookbook/cookbook_version_loader.rb +6 -3
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -0
- data/lib/chef/cookbook/file_vendor.rb +1 -0
- data/lib/chef/cookbook/gem_installer.rb +1 -0
- data/lib/chef/cookbook/manifest_v0.rb +1 -0
- data/lib/chef/cookbook/metadata.rb +11 -9
- data/lib/chef/cookbook/remote_file_vendor.rb +3 -2
- data/lib/chef/cookbook/synchronizer.rb +6 -4
- data/lib/chef/cookbook/syntax_check.rb +4 -0
- data/lib/chef/cookbook_loader.rb +1 -0
- data/lib/chef/cookbook_manifest.rb +4 -2
- data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
- data/lib/chef/cookbook_uploader.rb +2 -2
- data/lib/chef/cookbook_version.rb +10 -9
- data/lib/chef/data_bag.rb +2 -1
- data/lib/chef/data_bag_item.rb +6 -3
- data/lib/chef/data_collector.rb +16 -8
- data/lib/chef/data_collector/run_end_message.rb +2 -0
- data/lib/chef/decorator.rb +5 -6
- data/lib/chef/deprecated.rb +1 -0
- data/lib/chef/dsl/data_query.rb +1 -1
- data/lib/chef/dsl/declare_resource.rb +2 -0
- data/lib/chef/dsl/platform_introspection.rb +3 -1
- data/lib/chef/encrypted_data_bag_item.rb +7 -4
- data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -0
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +4 -2
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -0
- data/lib/chef/environment.rb +7 -5
- data/lib/chef/event_dispatch/base.rb +86 -172
- data/lib/chef/event_dispatch/dispatcher.rb +2 -1
- data/lib/chef/event_loggers/base.rb +2 -1
- data/lib/chef/exceptions.rb +6 -7
- data/lib/chef/file_access_control/unix.rb +7 -4
- data/lib/chef/file_access_control/windows.rb +17 -8
- data/lib/chef/file_cache.rb +2 -1
- data/lib/chef/file_content_management/deploy.rb +2 -2
- data/lib/chef/formatters/base.rb +3 -4
- data/lib/chef/formatters/doc.rb +21 -33
- data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -1
- data/lib/chef/formatters/indentable_output_stream.rb +3 -3
- data/lib/chef/formatters/minimal.rb +21 -42
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
- data/lib/chef/handler.rb +1 -2
- data/lib/chef/http.rb +23 -18
- data/lib/chef/http/api_versions.rb +1 -2
- data/lib/chef/http/auth_credentials.rb +1 -0
- data/lib/chef/http/basic_client.rb +1 -1
- data/lib/chef/http/decompressor.rb +1 -0
- data/lib/chef/http/json_output.rb +2 -1
- data/lib/chef/http/json_to_model_output.rb +1 -1
- data/lib/chef/http/remote_request_id.rb +1 -2
- data/lib/chef/http/socketless_chef_zero_client.rb +3 -2
- data/lib/chef/http/ssl_policies.rb +3 -0
- data/lib/chef/http/validate_content_length.rb +2 -2
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/key.rb +8 -6
- data/lib/chef/knife.rb +6 -5
- data/lib/chef/knife/bootstrap.rb +19 -12
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -0
- data/lib/chef/knife/bootstrap/client_builder.rb +1 -0
- data/lib/chef/knife/bootstrap/train_connector.rb +23 -17
- data/lib/chef/knife/client_bulk_delete.rb +4 -3
- data/lib/chef/knife/client_create.rb +13 -13
- data/lib/chef/knife/client_delete.rb +3 -3
- data/lib/chef/knife/config_get.rb +8 -8
- data/lib/chef/knife/config_list_profiles.rb +4 -4
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/cookbook_download.rb +12 -12
- data/lib/chef/knife/cookbook_show.rb +10 -10
- data/lib/chef/knife/cookbook_upload.rb +5 -5
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/gem_glob_loader.rb +2 -2
- data/lib/chef/knife/core/generic_presenter.rb +4 -4
- data/lib/chef/knife/core/node_presenter.rb +17 -17
- data/lib/chef/knife/core/object_loader.rb +1 -1
- data/lib/chef/knife/core/status_presenter.rb +5 -5
- data/lib/chef/knife/core/subcommand_loader.rb +3 -2
- data/lib/chef/knife/core/text_formatter.rb +4 -4
- data/lib/chef/knife/core/ui.rb +9 -5
- data/lib/chef/knife/data_bag_create.rb +1 -0
- data/lib/chef/knife/data_bag_from_file.rb +1 -1
- data/lib/chef/knife/data_bag_secret_options.rb +13 -13
- data/lib/chef/knife/data_bag_show.rb +2 -2
- data/lib/chef/knife/deps.rb +6 -6
- data/lib/chef/knife/edit.rb +2 -2
- data/lib/chef/knife/environment_compare.rb +1 -0
- data/lib/chef/knife/environment_from_file.rb +3 -3
- data/lib/chef/knife/key_create_base.rb +12 -12
- data/lib/chef/knife/key_edit_base.rb +15 -15
- data/lib/chef/knife/key_list.rb +3 -1
- data/lib/chef/knife/key_list_base.rb +9 -9
- data/lib/chef/knife/list.rb +5 -5
- data/lib/chef/knife/node_bulk_delete.rb +1 -0
- data/lib/chef/knife/node_edit.rb +1 -1
- data/lib/chef/knife/node_environment_set.rb +1 -2
- data/lib/chef/knife/node_run_list_add.rb +2 -2
- data/lib/chef/knife/node_run_list_remove.rb +2 -2
- data/lib/chef/knife/node_run_list_set.rb +2 -2
- data/lib/chef/knife/null.rb +1 -2
- data/lib/chef/knife/role_bulk_delete.rb +1 -0
- data/lib/chef/knife/role_env_run_list_add.rb +2 -2
- data/lib/chef/knife/role_env_run_list_set.rb +2 -2
- data/lib/chef/knife/role_run_list_add.rb +2 -2
- data/lib/chef/knife/role_run_list_set.rb +2 -2
- data/lib/chef/knife/search.rb +4 -4
- data/lib/chef/knife/ssh.rb +13 -9
- data/lib/chef/knife/supermarket_download.rb +1 -1
- data/lib/chef/knife/supermarket_install.rb +5 -5
- data/lib/chef/knife/supermarket_list.rb +1 -1
- data/lib/chef/knife/supermarket_share.rb +3 -2
- data/lib/chef/knife/supermarket_show.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -0
- data/lib/chef/knife/tag_delete.rb +1 -1
- data/lib/chef/knife/xargs.rb +2 -2
- data/lib/chef/log/syslog.rb +2 -2
- data/lib/chef/log/winevt.rb +1 -2
- data/lib/chef/mash.rb +2 -2
- data/lib/chef/mixin/api_version_request_handling.rb +1 -1
- data/lib/chef/mixin/checksum.rb +1 -0
- data/lib/chef/mixin/convert_to_class_name.rb +2 -1
- data/lib/chef/mixin/create_path.rb +2 -2
- data/lib/chef/mixin/deep_merge.rb +5 -5
- data/lib/chef/mixin/get_source_from_package.rb +1 -0
- data/lib/chef/mixin/homebrew_user.rb +2 -1
- data/lib/chef/mixin/openssl_helper.rb +10 -6
- data/lib/chef/mixin/params_validate.rb +21 -13
- data/lib/chef/mixin/powershell_out.rb +1 -1
- data/lib/chef/mixin/powershell_type_coercions.rb +2 -2
- data/lib/chef/mixin/properties.rb +13 -10
- data/lib/chef/mixin/securable.rb +3 -3
- data/lib/chef/mixin/shell_out.rb +1 -0
- data/lib/chef/mixin/template.rb +2 -1
- data/lib/chef/mixin/user_context.rb +1 -1
- data/lib/chef/mixin/which.rb +1 -0
- data/lib/chef/mixin/windows_architecture_helper.rb +4 -4
- data/lib/chef/mixin/windows_env_helper.rb +2 -2
- data/lib/chef/monkey_patches/net_http.rb +1 -1
- data/lib/chef/monkey_patches/webrick-utils.rb +6 -4
- data/lib/chef/node.rb +24 -17
- data/lib/chef/node/attribute.rb +122 -113
- data/lib/chef/node/attribute_collections.rb +1 -1
- data/lib/chef/node/common_api.rb +8 -2
- data/lib/chef/node/immutable_collections.rb +1 -1
- data/lib/chef/node/mixin/immutablize_array.rb +142 -142
- data/lib/chef/node/mixin/immutablize_hash.rb +131 -131
- data/lib/chef/node_map.rb +18 -3
- data/lib/chef/null_logger.rb +8 -16
- data/lib/chef/org.rb +4 -4
- data/lib/chef/platform/query_helpers.rb +3 -0
- data/lib/chef/platform/rebooter.rb +1 -1
- data/lib/chef/platform/service_helpers.rb +2 -2
- data/lib/chef/policy_builder/expand_node_object.rb +4 -4
- data/lib/chef/policy_builder/policyfile.rb +4 -4
- data/lib/chef/powershell.rb +2 -0
- data/lib/chef/property.rb +7 -4
- data/lib/chef/provider.rb +9 -12
- data/lib/chef/provider/apt_preference.rb +1 -2
- data/lib/chef/provider/apt_repository.rb +1 -2
- data/lib/chef/provider/apt_update.rb +2 -3
- data/lib/chef/provider/cookbook_file.rb +1 -0
- data/lib/chef/provider/cron.rb +6 -5
- data/lib/chef/provider/cron/unix.rb +1 -0
- data/lib/chef/provider/dsc_resource.rb +2 -3
- data/lib/chef/provider/dsc_script.rb +2 -2
- data/lib/chef/provider/execute.rb +1 -1
- data/lib/chef/provider/file.rb +5 -3
- data/lib/chef/provider/git.rb +4 -3
- data/lib/chef/provider/group.rb +7 -3
- data/lib/chef/provider/group/aix.rb +2 -0
- data/lib/chef/provider/group/dscl.rb +6 -3
- data/lib/chef/provider/group/groupadd.rb +1 -0
- data/lib/chef/provider/group/groupmod.rb +1 -1
- data/lib/chef/provider/group/pw.rb +3 -3
- data/lib/chef/provider/group/suse.rb +2 -2
- data/lib/chef/provider/group/usermod.rb +1 -0
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/http_request.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +12 -6
- data/lib/chef/provider/ifconfig/aix.rb +1 -0
- data/lib/chef/provider/ifconfig/debian.rb +1 -0
- data/lib/chef/provider/launchd.rb +16 -13
- data/lib/chef/provider/lwrp_base.rb +1 -2
- data/lib/chef/provider/mount.rb +1 -0
- data/lib/chef/provider/mount/aix.rb +6 -6
- data/lib/chef/provider/mount/mount.rb +5 -4
- data/lib/chef/provider/mount/solaris.rb +4 -4
- data/lib/chef/provider/package.rb +9 -6
- data/lib/chef/provider/package/apt.rb +4 -3
- data/lib/chef/provider/package/bff.rb +1 -0
- data/lib/chef/provider/package/cab.rb +4 -2
- data/lib/chef/provider/package/chocolatey.rb +5 -2
- data/lib/chef/provider/package/dnf.rb +1 -1
- data/lib/chef/provider/package/dnf/dnf_helper.py +15 -1
- data/lib/chef/provider/package/dnf/python_helper.rb +1 -0
- data/lib/chef/provider/package/dpkg.rb +4 -4
- data/lib/chef/provider/package/freebsd/base.rb +3 -2
- data/lib/chef/provider/package/freebsd/pkgng.rb +2 -2
- data/lib/chef/provider/package/homebrew.rb +1 -1
- data/lib/chef/provider/package/macports.rb +1 -0
- data/lib/chef/provider/package/msu.rb +3 -1
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/paludis.rb +1 -0
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +3 -2
- data/lib/chef/provider/package/rpm.rb +1 -0
- data/lib/chef/provider/package/rubygems.rb +5 -3
- data/lib/chef/provider/package/smartos.rb +1 -0
- data/lib/chef/provider/package/snap.rb +5 -1
- data/lib/chef/provider/package/solaris.rb +2 -0
- data/lib/chef/provider/package/windows/exe.rb +5 -5
- data/lib/chef/provider/package/windows/msi.rb +8 -7
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -0
- data/lib/chef/provider/package/yum.rb +5 -2
- data/lib/chef/provider/package/yum/python_helper.rb +2 -1
- data/lib/chef/provider/package/zypper.rb +1 -1
- data/lib/chef/provider/reboot.rb +1 -1
- data/lib/chef/provider/registry_key.rb +2 -2
- data/lib/chef/provider/remote_directory.rb +1 -1
- data/lib/chef/provider/remote_file.rb +10 -9
- data/lib/chef/provider/remote_file/fetcher.rb +3 -2
- data/lib/chef/provider/remote_file/local_file.rb +1 -1
- data/lib/chef/provider/route.rb +4 -2
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/arch.rb +2 -1
- data/lib/chef/provider/service/debian.rb +12 -11
- data/lib/chef/provider/service/freebsd.rb +1 -1
- data/lib/chef/provider/service/openbsd.rb +7 -7
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +2 -1
- data/lib/chef/provider/service/systemd.rb +2 -2
- data/lib/chef/provider/service/upstart.rb +3 -2
- data/lib/chef/provider/service/windows.rb +7 -6
- data/lib/chef/provider/subversion.rb +4 -1
- data/lib/chef/provider/template.rb +1 -0
- data/lib/chef/provider/user.rb +5 -1
- data/lib/chef/provider/user/aix.rb +3 -0
- data/lib/chef/provider/user/dscl.rb +8 -3
- data/lib/chef/provider/user/linux.rb +1 -0
- data/lib/chef/provider/user/pw.rb +1 -0
- data/lib/chef/provider/user/solaris.rb +2 -0
- data/lib/chef/provider/user/windows.rb +2 -1
- data/lib/chef/provider/windows_env.rb +3 -0
- data/lib/chef/provider/windows_script.rb +1 -1
- data/lib/chef/provider/windows_task.rb +4 -3
- data/lib/chef/provider/yum_repository.rb +1 -2
- data/lib/chef/provider/zypper_repository.rb +2 -3
- data/lib/chef/recipe.rb +2 -1
- data/lib/chef/resource.rb +24 -15
- data/lib/chef/resource/apt_package.rb +9 -9
- data/lib/chef/resource/apt_preference.rb +9 -9
- data/lib/chef/resource/apt_repository.rb +86 -23
- data/lib/chef/resource/apt_update.rb +2 -2
- data/lib/chef/resource/archive_file.rb +13 -13
- data/lib/chef/resource/build_essential.rb +5 -4
- data/lib/chef/resource/cab_package.rb +9 -9
- data/lib/chef/resource/chef_gem.rb +4 -4
- data/lib/chef/resource/chef_handler.rb +8 -7
- data/lib/chef/resource/chocolatey_config.rb +3 -3
- data/lib/chef/resource/chocolatey_feature.rb +2 -2
- data/lib/chef/resource/chocolatey_package.rb +8 -8
- data/lib/chef/resource/chocolatey_source.rb +3 -3
- data/lib/chef/resource/cookbook_file.rb +4 -4
- data/lib/chef/resource/cron.rb +12 -12
- data/lib/chef/resource/cron_access.rb +2 -2
- data/lib/chef/resource/cron_d.rb +45 -38
- data/lib/chef/resource/directory.rb +2 -2
- data/lib/chef/resource/dmg_package.rb +26 -26
- data/lib/chef/resource/dnf_package.rb +20 -20
- data/lib/chef/resource/dpkg_package.rb +5 -5
- data/lib/chef/resource/dsc_resource.rb +7 -7
- data/lib/chef/resource/dsc_script.rb +9 -4
- data/lib/chef/resource/execute.rb +14 -14
- data/lib/chef/resource/file.rb +4 -4
- data/lib/chef/resource/file/verification.rb +2 -0
- data/lib/chef/resource/file/verification/systemd_unit.rb +1 -0
- data/lib/chef/resource/gem_package.rb +7 -7
- data/lib/chef/resource/git.rb +2 -2
- data/lib/chef/resource/group.rb +5 -5
- data/lib/chef/resource/homebrew_cask.rb +17 -17
- data/lib/chef/resource/homebrew_package.rb +1 -1
- data/lib/chef/resource/homebrew_tap.rb +18 -18
- data/lib/chef/resource/hostname.rb +11 -11
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/ifconfig.rb +26 -26
- data/lib/chef/resource/ips_package.rb +2 -2
- data/lib/chef/resource/kernel_module.rb +25 -7
- data/lib/chef/resource/launchd.rb +105 -105
- data/lib/chef/resource/link.rb +10 -10
- data/lib/chef/resource/locale.rb +20 -20
- data/lib/chef/resource/log.rb +4 -4
- data/lib/chef/resource/lwrp_base.rb +1 -0
- data/lib/chef/resource/macos_userdefaults.rb +17 -16
- data/lib/chef/resource/macosx_service.rb +1 -1
- data/lib/chef/resource/mdadm.rb +14 -14
- data/lib/chef/resource/mount.rb +24 -24
- data/lib/chef/resource/msu_package.rb +8 -8
- data/lib/chef/resource/ohai.rb +1 -1
- data/lib/chef/resource/ohai_hint.rb +7 -5
- data/lib/chef/resource/openssl_dhparam.rb +14 -14
- data/lib/chef/resource/openssl_ec_private_key.rb +16 -16
- data/lib/chef/resource/openssl_ec_public_key.rb +9 -9
- data/lib/chef/resource/openssl_rsa_private_key.rb +17 -17
- data/lib/chef/resource/openssl_rsa_public_key.rb +9 -9
- data/lib/chef/resource/openssl_x509_certificate.rb +34 -34
- data/lib/chef/resource/openssl_x509_crl.rb +17 -17
- data/lib/chef/resource/openssl_x509_request.rb +20 -20
- data/lib/chef/resource/osx_profile.rb +5 -5
- data/lib/chef/resource/package.rb +9 -9
- data/lib/chef/resource/paludis_package.rb +2 -2
- data/lib/chef/resource/powershell_package.rb +8 -8
- data/lib/chef/resource/powershell_package_source.rb +13 -13
- data/lib/chef/resource/reboot.rb +4 -4
- data/lib/chef/resource/registry_key.rb +5 -3
- data/lib/chef/resource/remote_directory.rb +20 -20
- data/lib/chef/resource/remote_file.rb +8 -7
- data/lib/chef/resource/resource_notification.rb +4 -3
- data/lib/chef/resource/rhsm_errata.rb +2 -2
- data/lib/chef/resource/rhsm_errata_level.rb +4 -4
- data/lib/chef/resource/rhsm_register.rb +14 -14
- data/lib/chef/resource/rhsm_repo.rb +3 -3
- data/lib/chef/resource/rhsm_subscription.rb +2 -2
- data/lib/chef/resource/route.rb +11 -11
- data/lib/chef/resource/scm.rb +18 -18
- data/lib/chef/resource/service.rb +27 -27
- data/lib/chef/resource/snap_package.rb +4 -4
- data/lib/chef/resource/ssh_known_hosts_entry.rb +19 -19
- data/lib/chef/resource/subversion.rb +10 -10
- data/lib/chef/resource/sudo.rb +38 -37
- data/lib/chef/resource/swap_file.rb +9 -9
- data/lib/chef/resource/sysctl.rb +20 -17
- data/lib/chef/resource/systemd_unit.rb +12 -12
- data/lib/chef/resource/template.rb +8 -8
- data/lib/chef/resource/timezone.rb +3 -2
- data/lib/chef/resource/user.rb +19 -19
- data/lib/chef/resource/user/dscl_user.rb +2 -2
- data/lib/chef/resource/user/windows_user.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +17 -16
- data/lib/chef/resource/windows_auto_run.rb +8 -8
- data/lib/chef/resource/windows_certificate.rb +13 -13
- data/lib/chef/resource/windows_dfs_folder.rb +13 -12
- data/lib/chef/resource/windows_dfs_namespace.rb +18 -18
- data/lib/chef/resource/windows_dfs_server.rb +12 -12
- data/lib/chef/resource/windows_dns_record.rb +8 -8
- data/lib/chef/resource/windows_dns_zone.rb +6 -6
- data/lib/chef/resource/windows_env.rb +6 -6
- data/lib/chef/resource/windows_feature.rb +12 -12
- data/lib/chef/resource/windows_feature_dism.rb +20 -19
- data/lib/chef/resource/windows_feature_powershell.rb +24 -22
- data/lib/chef/resource/windows_firewall_rule.rb +34 -34
- data/lib/chef/resource/windows_font.rb +4 -4
- data/lib/chef/resource/windows_package.rb +5 -5
- data/lib/chef/resource/windows_pagefile.rb +9 -8
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +15 -15
- data/lib/chef/resource/windows_printer_port.rb +14 -14
- data/lib/chef/resource/windows_script.rb +1 -1
- data/lib/chef/resource/windows_service.rb +16 -16
- data/lib/chef/resource/windows_share.rb +27 -24
- data/lib/chef/resource/windows_shortcut.rb +7 -7
- data/lib/chef/resource/windows_task.rb +53 -51
- data/lib/chef/resource/windows_uac.rb +15 -15
- data/lib/chef/resource/windows_workgroup.rb +15 -14
- data/lib/chef/resource/yum_package.rb +24 -24
- data/lib/chef/resource/yum_repository.rb +44 -44
- data/lib/chef/resource/zypper_package.rb +9 -9
- data/lib/chef/resource/zypper_repository.rb +30 -30
- data/lib/chef/resource_builder.rb +1 -0
- data/lib/chef/resource_collection.rb +6 -4
- data/lib/chef/resource_collection/resource_collection_serialization.rb +4 -3
- data/lib/chef/resource_collection/resource_list.rb +5 -3
- data/lib/chef/resource_collection/resource_set.rb +12 -8
- data/lib/chef/resource_collection/stepable_iterator.rb +1 -0
- data/lib/chef/resource_definition.rb +5 -3
- data/lib/chef/resource_definition_list.rb +1 -1
- data/lib/chef/resource_inspector.rb +1 -1
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/role.rb +9 -7
- data/lib/chef/run_context.rb +5 -5
- data/lib/chef/run_context/cookbook_compiler.rb +5 -1
- data/lib/chef/run_list.rb +5 -4
- data/lib/chef/run_list/run_list_expansion.rb +3 -2
- data/lib/chef/run_list/run_list_item.rb +5 -5
- data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
- data/lib/chef/run_status.rb +1 -1
- data/lib/chef/runner.rb +2 -4
- data/lib/chef/search/query.rb +3 -3
- data/lib/chef/shell/ext.rb +2 -2
- data/lib/chef/shell/model_wrapper.rb +2 -1
- data/lib/chef/shell/shell_session.rb +1 -1
- data/lib/chef/train_transport.rb +3 -3
- data/lib/chef/user.rb +6 -6
- data/lib/chef/user_v1.rb +13 -11
- data/lib/chef/util/diff.rb +5 -2
- data/lib/chef/util/dsc/configuration_generator.rb +6 -6
- data/lib/chef/util/dsc/lcm_output_parser.rb +2 -2
- data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
- data/lib/chef/util/dsc/resource_store.rb +2 -2
- data/lib/chef/util/file_edit.rb +1 -0
- data/lib/chef/util/powershell/cmdlet.rb +1 -1
- data/lib/chef/util/threaded_job_queue.rb +1 -1
- data/lib/chef/util/windows/logon_session.rb +5 -5
- data/lib/chef/util/windows/net_use.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +3 -2
- data/lib/chef/version.rb +1 -1
- data/lib/chef/version_class.rb +1 -1
- data/lib/chef/version_constraint.rb +1 -1
- data/lib/chef/whitelist.rb +1 -1
- data/lib/chef/win32/api/crypto.rb +11 -11
- data/lib/chef/win32/api/error.rb +4 -4
- data/lib/chef/win32/api/file.rb +38 -38
- data/lib/chef/win32/api/installer.rb +3 -3
- data/lib/chef/win32/api/memory.rb +4 -4
- data/lib/chef/win32/api/net.rb +38 -38
- data/lib/chef/win32/api/process.rb +2 -2
- data/lib/chef/win32/api/psapi.rb +1 -1
- data/lib/chef/win32/api/registry.rb +3 -3
- data/lib/chef/win32/api/security.rb +87 -87
- data/lib/chef/win32/api/synchronization.rb +5 -5
- data/lib/chef/win32/api/system.rb +7 -7
- data/lib/chef/win32/api/unicode.rb +3 -3
- data/lib/chef/win32/eventlog.rb +2 -2
- data/lib/chef/win32/file.rb +5 -2
- data/lib/chef/win32/file/info.rb +1 -0
- data/lib/chef/win32/file/version_info.rb +15 -14
- data/lib/chef/win32/memory.rb +1 -1
- data/lib/chef/win32/net.rb +8 -4
- data/lib/chef/win32/registry.rb +6 -1
- data/lib/chef/win32/security.rb +7 -2
- data/lib/chef/win32/security/acl.rb +2 -1
- data/lib/chef/win32/security/security_descriptor.rb +4 -2
- data/lib/chef/win32/security/sid.rb +11 -10
- data/lib/chef/win32/security/token.rb +3 -1
- data/lib/chef/win32/version.rb +3 -3
- data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -0
- data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -0
- data/spec/functional/assets/chefinittest +0 -0
- data/spec/functional/assets/testchefsubsys +0 -0
- data/spec/functional/dsl/reboot_pending_spec.rb +2 -2
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
- data/spec/functional/knife/exec_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +3 -3
- data/spec/functional/mixin/user_context_spec.rb +3 -1
- data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -0
- data/spec/functional/rebooter_spec.rb +1 -1
- data/spec/functional/resource/aix_service_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
- data/spec/functional/resource/cookbook_file_spec.rb +1 -3
- data/spec/functional/resource/cron_spec.rb +1 -0
- data/spec/functional/resource/dnf_package_spec.rb +5 -5
- data/spec/functional/resource/dpkg_package_spec.rb +4 -4
- data/spec/functional/resource/dsc_resource_spec.rb +2 -1
- data/spec/functional/resource/dsc_script_spec.rb +7 -11
- data/spec/functional/resource/git_spec.rb +5 -5
- data/spec/functional/resource/group_spec.rb +15 -13
- data/spec/functional/resource/ifconfig_spec.rb +2 -2
- data/spec/functional/resource/link_spec.rb +2 -2
- data/spec/functional/resource/locale_spec.rb +4 -4
- data/spec/functional/resource/mount_spec.rb +3 -3
- data/spec/functional/resource/powershell_script_spec.rb +9 -8
- data/spec/functional/resource/reboot_spec.rb +1 -1
- data/spec/functional/resource/remote_file_spec.rb +2 -2
- data/spec/functional/resource/template_spec.rb +1 -1
- data/spec/functional/resource/user/windows_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_service_spec.rb +3 -3
- data/spec/functional/run_lock_spec.rb +3 -2
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/win32/security_spec.rb +12 -7
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +79 -81
- data/spec/integration/client/exit_code_spec.rb +2 -2
- data/spec/integration/client/ipv6_spec.rb +2 -2
- data/spec/integration/knife/chef_fs_data_store_spec.rb +25 -25
- data/spec/integration/knife/chef_repo_path_spec.rb +4 -4
- data/spec/integration/knife/config_get_spec.rb +1 -1
- data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
- data/spec/integration/knife/cookbook_download_spec.rb +1 -1
- data/spec/integration/knife/diff_spec.rb +2 -2
- data/spec/integration/knife/download_spec.rb +1 -1
- data/spec/integration/knife/redirection_spec.rb +1 -1
- data/spec/integration/knife/upload_spec.rb +2 -2
- data/spec/integration/recipes/accumulator_spec.rb +4 -4
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -5
- data/spec/integration/recipes/lwrp_spec.rb +2 -2
- data/spec/integration/recipes/notifies_spec.rb +20 -20
- data/spec/integration/recipes/notifying_block_spec.rb +4 -4
- data/spec/integration/recipes/provider_choice.rb +1 -2
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/remote_directory.rb +2 -2
- data/spec/integration/solo/solo_spec.rb +20 -20
- data/spec/spec_helper.rb +9 -11
- data/spec/stress/win32/security_spec.rb +1 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
- data/spec/support/lib/chef/resource/zen_master.rb +1 -1
- data/spec/support/mock/platform.rb +2 -2
- data/spec/support/platform_helpers.rb +14 -0
- data/spec/support/platforms/win32/spec_service.rb +6 -10
- data/spec/support/shared/functional/execute_resource.rb +4 -4
- data/spec/support/shared/functional/file_resource.rb +1 -3
- data/spec/support/shared/functional/http.rb +15 -39
- data/spec/support/shared/functional/securable_resource.rb +4 -8
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +2 -1
- data/spec/support/shared/integration/app_server_support.rb +3 -4
- data/spec/support/shared/integration/integration_helper.rb +1 -0
- data/spec/support/shared/integration/knife_support.rb +5 -5
- data/spec/support/shared/unit/application_dot_d.rb +10 -4
- data/spec/support/shared/unit/file_system_support.rb +3 -2
- data/spec/support/shared/unit/platform_introspector.rb +12 -12
- data/spec/support/shared/unit/provider/file.rb +1 -1
- data/spec/support/shared/unit/script_resource.rb +1 -1
- data/spec/support/shared/unit/windows_script_resource.rb +1 -1
- data/spec/tiny_server.rb +1 -1
- data/spec/unit/api_client/registration_spec.rb +1 -1
- data/spec/unit/api_client_spec.rb +5 -5
- data/spec/unit/api_client_v1_spec.rb +6 -6
- data/spec/unit/application/client_spec.rb +8 -8
- data/spec/unit/application/exit_code_spec.rb +3 -2
- data/spec/unit/application/knife_spec.rb +1 -2
- data/spec/unit/chef_fs/config_spec.rb +3 -3
- data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
- data/spec/unit/chef_fs/parallelizer.rb +1 -1
- data/spec/unit/client_spec.rb +1 -1
- data/spec/unit/config_fetcher_spec.rb +1 -1
- data/spec/unit/cookbook/metadata_spec.rb +4 -4
- data/spec/unit/cookbook/synchronizer_spec.rb +4 -4
- data/spec/unit/cookbook_loader_spec.rb +10 -10
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
- data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
- data/spec/unit/data_bag_item_spec.rb +8 -8
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/data_collector_spec.rb +82 -0
- data/spec/unit/decorator_spec.rb +2 -2
- data/spec/unit/deprecated_spec.rb +2 -2
- data/spec/unit/dsl/data_query_spec.rb +3 -2
- data/spec/unit/dsl/declare_resource_spec.rb +1 -1
- data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
- data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
- data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
- data/spec/unit/environment_spec.rb +9 -9
- data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/authenticator_spec.rb +3 -2
- data/spec/unit/http/json_input_spec.rb +1 -1
- data/spec/unit/key_spec.rb +7 -7
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +13 -8
- data/spec/unit/knife/bootstrap_spec.rb +22 -16
- data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
- data/spec/unit/knife/configure_client_spec.rb +1 -1
- data/spec/unit/knife/configure_spec.rb +1 -1
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
- data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
- data/spec/unit/knife/cookbook_download_spec.rb +2 -2
- data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
- data/spec/unit/knife/cookbook_upload_spec.rb +4 -2
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
- data/spec/unit/knife/core/node_editor_spec.rb +8 -8
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +1 -2
- data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
- data/spec/unit/knife/data_bag_show_spec.rb +2 -1
- data/spec/unit/knife/key_create_spec.rb +1 -1
- data/spec/unit/knife/key_delete_spec.rb +3 -3
- data/spec/unit/knife/key_edit_spec.rb +4 -4
- data/spec/unit/knife/key_list_spec.rb +1 -1
- data/spec/unit/knife/key_show_spec.rb +3 -3
- data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
- data/spec/unit/knife/node_delete_spec.rb +2 -2
- data/spec/unit/knife/node_edit_spec.rb +1 -1
- data/spec/unit/knife/node_environment_set_spec.rb +6 -1
- data/spec/unit/knife/node_from_file_spec.rb +1 -1
- data/spec/unit/knife/node_policy_set_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/node_show_spec.rb +1 -1
- data/spec/unit/knife/raw_spec.rb +2 -2
- data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
- data/spec/unit/knife/role_create_spec.rb +1 -1
- data/spec/unit/knife/role_delete_spec.rb +1 -1
- data/spec/unit/knife/role_edit_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/role_from_file_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/status_spec.rb +2 -1
- data/spec/unit/knife/supermarket_install_spec.rb +5 -4
- data/spec/unit/knife/supermarket_share_spec.rb +1 -1
- data/spec/unit/knife_spec.rb +35 -34
- data/spec/unit/lwrp_spec.rb +19 -19
- data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +10 -10
- data/spec/unit/mixin/properties_spec.rb +4 -4
- data/spec/unit/mixin/shell_out_spec.rb +3 -3
- data/spec/unit/mixin/template_spec.rb +4 -8
- data/spec/unit/mixin/unformatter_spec.rb +1 -2
- data/spec/unit/mixin/user_context_spec.rb +1 -2
- data/spec/unit/mixin/which.rb +2 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
- data/spec/unit/node/attribute_spec.rb +12 -12
- data/spec/unit/node/immutable_collections_spec.rb +50 -50
- data/spec/unit/node/vivid_mash_spec.rb +4 -4
- data/spec/unit/node_spec.rb +12 -12
- data/spec/unit/org_spec.rb +3 -3
- data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
- data/spec/unit/property/state_spec.rb +26 -25
- data/spec/unit/property/validation_spec.rb +14 -13
- data/spec/unit/property_spec.rb +11 -10
- data/spec/unit/provider/apt_update_spec.rb +6 -6
- data/spec/unit/provider/cron_spec.rb +1 -1
- data/spec/unit/provider/dsc_resource_spec.rb +6 -3
- data/spec/unit/provider/dsc_script_spec.rb +1 -1
- data/spec/unit/provider/git_spec.rb +38 -38
- data/spec/unit/provider/group/dscl_spec.rb +1 -1
- data/spec/unit/provider/group/groupadd_spec.rb +1 -1
- data/spec/unit/provider/group_spec.rb +2 -3
- data/spec/unit/provider/launchd_spec.rb +16 -8
- data/spec/unit/provider/link_spec.rb +22 -11
- data/spec/unit/provider/mount/mount_spec.rb +31 -31
- data/spec/unit/provider/mount/solaris_spec.rb +11 -11
- data/spec/unit/provider/ohai_spec.rb +1 -1
- data/spec/unit/provider/osx_profile_spec.rb +5 -7
- data/spec/unit/provider/package/apt_spec.rb +5 -5
- data/spec/unit/provider/package/bff_spec.rb +1 -1
- data/spec/unit/provider/package/cab_spec.rb +1 -1
- data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
- data/spec/unit/provider/package/msu_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +14 -10
- data/spec/unit/provider/package/powershell_spec.rb +1 -1
- data/spec/unit/provider/package/smartos_spec.rb +2 -2
- data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
- data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
- data/spec/unit/provider/package/windows_spec.rb +2 -1
- data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +13 -4
- data/spec/unit/provider/powershell_script_spec.rb +12 -12
- data/spec/unit/provider/registry_key_spec.rb +1 -1
- data/spec/unit/provider/remote_directory_spec.rb +6 -6
- data/spec/unit/provider/route_spec.rb +11 -11
- data/spec/unit/provider/service/arch_service_spec.rb +11 -11
- data/spec/unit/provider/service/debian_service_spec.rb +2 -1
- data/spec/unit/provider/service/freebsd_service_spec.rb +23 -19
- data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
- data/spec/unit/provider/service/init_service_spec.rb +9 -9
- data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
- data/spec/unit/provider/service/macosx_spec.rb +1 -1
- data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
- data/spec/unit/provider/service/simple_service_spec.rb +5 -5
- data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
- data/spec/unit/provider/service/windows_spec.rb +53 -35
- data/spec/unit/provider/subversion_spec.rb +8 -4
- data/spec/unit/provider/systemd_unit_spec.rb +146 -146
- data/spec/unit/provider/template/content_spec.rb +28 -28
- data/spec/unit/provider/windows_task_spec.rb +7 -2
- data/spec/unit/provider_resolver_spec.rb +2 -2
- data/spec/unit/provider_spec.rb +2 -4
- data/spec/unit/recipe_spec.rb +3 -3
- data/spec/unit/resource/batch_spec.rb +1 -1
- data/spec/unit/resource/cab_package_spec.rb +1 -1
- data/spec/unit/resource/chef_gem_spec.rb +1 -1
- data/spec/unit/resource/directory_spec.rb +1 -1
- data/spec/unit/resource/dnf_package_spec.rb +1 -1
- data/spec/unit/resource/dsc_resource_spec.rb +1 -1
- data/spec/unit/resource/file/verification_spec.rb +1 -2
- data/spec/unit/resource/file_spec.rb +1 -1
- data/spec/unit/resource/group_spec.rb +1 -1
- data/spec/unit/resource/kernel_module_spec.rb +1 -0
- data/spec/unit/resource/link_spec.rb +1 -1
- data/spec/unit/resource/locale_spec.rb +12 -12
- data/spec/unit/resource/osx_profile_spec.rb +2 -1
- data/spec/unit/resource/powershell_script_spec.rb +12 -7
- data/spec/unit/resource/registry_key_spec.rb +3 -3
- data/spec/unit/resource/rhsm_repo_spec.rb +6 -0
- data/spec/unit/resource/service_spec.rb +1 -1
- data/spec/unit/resource/template_spec.rb +2 -2
- data/spec/unit/resource/windows_env_spec.rb +1 -1
- data/spec/unit/resource/windows_service_spec.rb +7 -7
- data/spec/unit/resource/windows_task_spec.rb +2 -2
- data/spec/unit/resource/windows_uac_spec.rb +2 -2
- data/spec/unit/resource/yum_package_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
- data/spec/unit/resource_collection_spec.rb +4 -4
- data/spec/unit/resource_definition_spec.rb +2 -2
- data/spec/unit/resource_inspector_spec.rb +1 -1
- data/spec/unit/resource_reporter_spec.rb +6 -4
- data/spec/unit/resource_spec.rb +21 -21
- data/spec/unit/role_spec.rb +2 -2
- data/spec/unit/run_context/cookbook_compiler_spec.rb +24 -24
- data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
- data/spec/unit/run_list_spec.rb +1 -1
- data/spec/unit/runner_spec.rb +3 -3
- data/spec/unit/search/query_spec.rb +3 -2
- data/spec/unit/shell/model_wrapper_spec.rb +1 -1
- data/spec/unit/shell/shell_session_spec.rb +8 -11
- data/spec/unit/shell_spec.rb +1 -2
- data/spec/unit/user_spec.rb +4 -4
- data/spec/unit/user_v1_spec.rb +3 -3
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/editor_spec.rb +1 -1
- data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
- data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
- data/spec/unit/version_class_spec.rb +4 -4
- data/spec/unit/win32/registry_spec.rb +5 -5
- data/spec/unit/win32/security_spec.rb +2 -1
- data/tasks/bin/run_external_test +1 -1
- data/tasks/docs.rb +78 -61
- data/tasks/rspec.rb +1 -1
- metadata +5 -33
- data/lib/.DS_Store +0 -0
- data/lib/chef/.DS_Store +0 -0
- data/lib/chef/dsl/.DS_Store +0 -0
- data/lib/chef/knife/.DS_Store +0 -0
- data/lib/chef/mixin/.DS_Store +0 -0
- data/lib/chef/nil_argument.rb +0 -3
- data/lib/chef/provider/.DS_Store +0 -0
- data/lib/chef/provider/package/.DS_Store +0 -0
- data/lib/chef/provider/package/freebsd/.DS_Store +0 -0
- data/lib/chef/resource/.DS_Store +0 -0
- data/lib/chef/resource/file/.DS_Store +0 -0
- data/spec/.DS_Store +0 -0
- data/spec/data/.DS_Store +0 -0
- data/spec/data/cookbooks/.DS_Store +0 -0
- data/spec/data/cookbooks/java/.DS_Store +0 -0
- data/spec/data/cookbooks/java/files/.DS_Store +0 -0
- data/spec/data/mac_users/.DS_Store +0 -0
- data/spec/data/nodes/Tim.local.json +0 -3
- data/spec/data/nodes/Tims-MBP.local.json +0 -3
- data/spec/data/run_context/.DS_Store +0 -0
- data/spec/data/run_context/cookbooks/.DS_Store +0 -0
- data/spec/functional/.DS_Store +0 -0
- data/spec/functional/resource/.DS_Store +0 -0
- data/spec/functional/util/.DS_Store +0 -0
- data/spec/integration/.DS_Store +0 -0
- data/spec/stress/.DS_Store +0 -0
- data/spec/support/.DS_Store +0 -0
- data/spec/unit/.DS_Store +0 -0
- data/tasks/.DS_Store +0 -0
@@ -40,7 +40,7 @@ class Chef
|
|
40
40
|
option :config_file,
|
41
41
|
short: "-c CONFIG",
|
42
42
|
long: "--config CONFIG",
|
43
|
-
default: "#{ENV[
|
43
|
+
default: "#{ENV["SYSTEMDRIVE"]}/chef/client.rb",
|
44
44
|
description: "The configuration file to use for #{Chef::Dist::PRODUCT} runs."
|
45
45
|
|
46
46
|
option :log_location,
|
@@ -60,7 +60,7 @@ class Chef
|
|
60
60
|
description: "Set the number of seconds to wait between #{Chef::Dist::PRODUCT} runs.",
|
61
61
|
proc: lambda { |s| s.to_i }
|
62
62
|
|
63
|
-
DEFAULT_LOG_LOCATION ||= "#{ENV[
|
63
|
+
DEFAULT_LOG_LOCATION ||= "#{ENV["SYSTEMDRIVE"]}/chef/client.log".freeze
|
64
64
|
|
65
65
|
def service_init
|
66
66
|
@service_action_mutex = Mutex.new
|
@@ -307,7 +307,7 @@ class Chef
|
|
307
307
|
|
308
308
|
begin
|
309
309
|
case config[:config_file]
|
310
|
-
when
|
310
|
+
when %r{^(http|https)://}
|
311
311
|
Chef::HTTP.new("").streaming_request(config[:config_file]) { |f| apply_config(f.path) }
|
312
312
|
else
|
313
313
|
::File.open(config[:config_file]) { |f| apply_config(f.path) }
|
@@ -46,7 +46,7 @@ class Chef
|
|
46
46
|
option :config_file,
|
47
47
|
short: "-c CONFIG",
|
48
48
|
long: "--config CONFIG",
|
49
|
-
default: "#{ENV[
|
49
|
+
default: "#{ENV["SYSTEMDRIVE"]}/chef/client.rb",
|
50
50
|
description: "The configuration file to use for #{Chef::Dist::PRODUCT} runs."
|
51
51
|
|
52
52
|
option :log_location,
|
@@ -78,10 +78,10 @@ class Chef
|
|
78
78
|
|
79
79
|
raise ArgumentError, "Service definition is not provided" if service_options.nil?
|
80
80
|
|
81
|
-
required_options =
|
81
|
+
required_options = %i{service_name service_display_name service_description service_file_path}
|
82
82
|
|
83
83
|
required_options.each do |req_option|
|
84
|
-
|
84
|
+
unless service_options.key?(req_option)
|
85
85
|
raise ArgumentError, "Service definition doesn't contain required option #{req_option}"
|
86
86
|
end
|
87
87
|
end
|
data/lib/chef/blacklist.rb
CHANGED
@@ -68,7 +68,7 @@ class Chef
|
|
68
68
|
# assumed to contain exact keys (that is, Array elements will not be split
|
69
69
|
# by "/").
|
70
70
|
def self.to_array(item)
|
71
|
-
return item if item.
|
71
|
+
return item if item.is_a? Array
|
72
72
|
|
73
73
|
parts = item.split("/")
|
74
74
|
parts.shift if !parts.empty? && parts[0].empty?
|
@@ -246,7 +246,7 @@ class Chef
|
|
246
246
|
end
|
247
247
|
|
248
248
|
else
|
249
|
-
|
249
|
+
unless data.is_a?(String)
|
250
250
|
raise "set only works with strings"
|
251
251
|
end
|
252
252
|
|
@@ -279,6 +279,7 @@ class Chef
|
|
279
279
|
if !policy_group["policies"] || !policy_group["policies"][path[3]]
|
280
280
|
raise ChefZero::DataStore::DataNotFoundError.new(path, entry)
|
281
281
|
end
|
282
|
+
|
282
283
|
# The policy group looks like:
|
283
284
|
# {
|
284
285
|
# "policies": {
|
@@ -361,7 +362,7 @@ class Chef
|
|
361
362
|
if use_memory_store?(path)
|
362
363
|
@memory_store.set(path, data, *options)
|
363
364
|
else
|
364
|
-
|
365
|
+
unless data.is_a?(String)
|
365
366
|
raise "set only works with strings: #{path} = #{data.inspect}"
|
366
367
|
end
|
367
368
|
|
@@ -401,6 +402,7 @@ class Chef
|
|
401
402
|
unless group["policies"] && group["policies"].key?(path[3])
|
402
403
|
raise ChefZero::DataStore::DataNotFoundError.new(path)
|
403
404
|
end
|
405
|
+
|
404
406
|
group["policies"].delete(path[3])
|
405
407
|
group
|
406
408
|
end
|
@@ -413,6 +415,7 @@ class Chef
|
|
413
415
|
if result.size == members.size
|
414
416
|
raise ChefZero::DataStore::DataNotFoundError.new(path)
|
415
417
|
end
|
418
|
+
|
416
419
|
result
|
417
420
|
end
|
418
421
|
|
@@ -424,6 +427,7 @@ class Chef
|
|
424
427
|
if result.size == invitations.size
|
425
428
|
raise ChefZero::DataStore::DataNotFoundError.new(path)
|
426
429
|
end
|
430
|
+
|
427
431
|
result
|
428
432
|
end
|
429
433
|
|
@@ -457,11 +461,12 @@ class Chef
|
|
457
461
|
policies.children.each do |policy|
|
458
462
|
# We want to delete just the ones that == POLICY
|
459
463
|
next unless policy.name.rpartition("-")[0] == path[1]
|
464
|
+
|
460
465
|
policy.delete(false)
|
461
466
|
FileSystemCache.instance.delete!(policy.file_path)
|
462
467
|
found_policy = true
|
463
468
|
end
|
464
|
-
raise ChefZero::DataStore::DataNotFoundError.new(path)
|
469
|
+
raise ChefZero::DataStore::DataNotFoundError.new(path) unless found_policy
|
465
470
|
end
|
466
471
|
|
467
472
|
else
|
@@ -502,6 +507,7 @@ class Chef
|
|
502
507
|
revisions << revision if name == path[1]
|
503
508
|
end
|
504
509
|
raise ChefZero::DataStore::DataNotFoundError.new(path) if revisions.empty?
|
510
|
+
|
505
511
|
revisions
|
506
512
|
end
|
507
513
|
|
@@ -525,7 +531,7 @@ class Chef
|
|
525
531
|
# /cookbooks/name-version -> /cookbooks/name
|
526
532
|
entry.children.map { |child| split_name_version(child.name)[0] }.uniq
|
527
533
|
else
|
528
|
-
entry.children.map
|
534
|
+
entry.children.map(&:name)
|
529
535
|
end
|
530
536
|
rescue Chef::ChefFS::FileSystem::NotFoundError
|
531
537
|
# If the cookbooks dir doesn't exist, we have no cookbooks (not 404)
|
@@ -538,12 +544,13 @@ class Chef
|
|
538
544
|
result = with_entry([ path[0] ]) do |entry|
|
539
545
|
# list /cookbooks/name = filter /cookbooks/name-version down to name
|
540
546
|
entry.children.map { |child| split_name_version(child.name) }
|
541
|
-
|
542
|
-
|
547
|
+
.select { |name, version| name == path[1] }
|
548
|
+
.map { |name, version| version }
|
543
549
|
end
|
544
550
|
if result.empty?
|
545
551
|
raise ChefZero::DataStore::DataNotFoundError.new(path)
|
546
552
|
end
|
553
|
+
|
547
554
|
result
|
548
555
|
else
|
549
556
|
# list /cookbooks/name = <single version>
|
@@ -638,7 +645,7 @@ class Chef
|
|
638
645
|
|
639
646
|
# Create the .uploaded-cookbook-version.json
|
640
647
|
cookbooks = chef_fs.child(cookbook_type)
|
641
|
-
|
648
|
+
unless cookbooks.exists?
|
642
649
|
cookbooks = chef_fs.create_child(cookbook_type)
|
643
650
|
end
|
644
651
|
# We are calling a cookbooks-specific API, so get multiplexed_dirs out of the way if it is there
|
@@ -846,6 +853,7 @@ class Chef
|
|
846
853
|
|
847
854
|
def ensure_dir(entry)
|
848
855
|
return entry if entry.exists?
|
856
|
+
|
849
857
|
parent = entry.parent
|
850
858
|
if parent
|
851
859
|
ensure_dir(parent)
|
@@ -44,6 +44,7 @@ class Chef
|
|
44
44
|
|
45
45
|
when :directory_to_file
|
46
46
|
next if diff_filter && diff_filter !~ /T/
|
47
|
+
|
47
48
|
if output_mode == :name_only
|
48
49
|
yield "#{new_path}\n"
|
49
50
|
elsif output_mode == :name_status
|
@@ -54,6 +55,7 @@ class Chef
|
|
54
55
|
|
55
56
|
when :file_to_directory
|
56
57
|
next if diff_filter && diff_filter !~ /T/
|
58
|
+
|
57
59
|
if output_mode == :name_only
|
58
60
|
yield "#{new_path}\n"
|
59
61
|
elsif output_mode == :name_status
|
@@ -71,6 +73,7 @@ class Chef
|
|
71
73
|
new_path += File.extname(old_path)
|
72
74
|
end
|
73
75
|
next if diff_filter && diff_filter !~ /D/
|
76
|
+
|
74
77
|
if output_mode == :name_only
|
75
78
|
yield "#{new_path}\n"
|
76
79
|
elsif output_mode == :name_status
|
@@ -86,6 +89,7 @@ class Chef
|
|
86
89
|
|
87
90
|
when :added
|
88
91
|
next if diff_filter && diff_filter !~ /A/
|
92
|
+
|
89
93
|
if output_mode == :name_only
|
90
94
|
yield "#{new_path}\n"
|
91
95
|
elsif output_mode == :name_status
|
@@ -101,6 +105,7 @@ class Chef
|
|
101
105
|
|
102
106
|
when :modified
|
103
107
|
next if diff_filter && diff_filter !~ /M/
|
108
|
+
|
104
109
|
if output_mode == :name_only
|
105
110
|
yield "#{new_path}\n"
|
106
111
|
elsif output_mode == :name_status
|
@@ -127,7 +132,7 @@ class Chef
|
|
127
132
|
end
|
128
133
|
end
|
129
134
|
end
|
130
|
-
|
135
|
+
unless found_match
|
131
136
|
ui.error "#{pattern}: No such file or directory on remote or local" if ui
|
132
137
|
error = true
|
133
138
|
end
|
data/lib/chef/chef_fs/config.rb
CHANGED
@@ -150,7 +150,7 @@ class Chef
|
|
150
150
|
hosted_everything or allow repo_mode to default}
|
151
151
|
end
|
152
152
|
# Default to getting *everything* from the server.
|
153
|
-
|
153
|
+
unless @chef_config[:repo_mode]
|
154
154
|
if is_hosted?
|
155
155
|
@chef_config[:repo_mode] = "hosted_everything"
|
156
156
|
else
|
@@ -164,7 +164,7 @@ class Chef
|
|
164
164
|
attr_reader :cookbook_version
|
165
165
|
|
166
166
|
def is_hosted?
|
167
|
-
@chef_config[:chef_server_url] =~
|
167
|
+
@chef_config[:chef_server_url] =~ %r{/+organizations/.+}
|
168
168
|
end
|
169
169
|
|
170
170
|
def chef_fs
|
@@ -272,6 +272,7 @@ class Chef
|
|
272
272
|
# cookbooks -> cookbook_path
|
273
273
|
singular_name = INFLECTIONS[object_name]
|
274
274
|
raise "Unknown object name #{object_name}" unless singular_name
|
275
|
+
|
275
276
|
variable_name = "#{singular_name}_path"
|
276
277
|
paths = Array(@chef_config[variable_name]).flatten
|
277
278
|
result[object_name] = paths.map { |path| File.expand_path(path) }
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
def verify_integrity(object, entry)
|
25
25
|
base_name = remove_dot_json(entry.name)
|
26
26
|
if object["containername"] != base_name
|
27
|
-
yield("Name in #{entry.path_for_printing} must be '#{base_name}' (is '#{object[
|
27
|
+
yield("Name in #{entry.path_for_printing} must be '#{base_name}' (is '#{object["containername"]}')")
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -54,7 +54,7 @@ class Chef
|
|
54
54
|
def verify_integrity(object, entry)
|
55
55
|
base_name = remove_dot_json(entry.name)
|
56
56
|
if object["raw_data"]["id"] != base_name
|
57
|
-
yield("ID in #{entry.path_for_printing} must be '#{base_name}' (is '#{object[
|
57
|
+
yield("ID in #{entry.path_for_printing} must be '#{base_name}' (is '#{object["raw_data"]["id"]}')")
|
58
58
|
elsif entry.parent.name =~ RESERVED_NAMES
|
59
59
|
yield("Data bag name ('#{entry.parent.name}') must not match #{RESERVED_NAMES.inspect}")
|
60
60
|
end
|
@@ -197,7 +197,7 @@ class Chef
|
|
197
197
|
def verify_integrity(object, entry)
|
198
198
|
base_name = remove_file_extension(entry.name)
|
199
199
|
if object["name"] != base_name
|
200
|
-
yield("Name must be '#{base_name}' (is '#{object[
|
200
|
+
yield("Name must be '#{base_name}' (is '#{object["name"]}')")
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
@@ -27,7 +27,7 @@ class Chef
|
|
27
27
|
# @yieldparam [s<string>] error message
|
28
28
|
def verify_integrity(object, entry)
|
29
29
|
if entry.org != object["name"]
|
30
|
-
yield("Name must be '#{entry.org}' (is '#{object[
|
30
|
+
yield("Name must be '#{entry.org}' (is '#{object["name"]}')")
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
@@ -35,11 +35,11 @@ class Chef
|
|
35
35
|
def verify_integrity(object_data, entry)
|
36
36
|
name, revision = name_and_revision(entry.name)
|
37
37
|
if object_data["name"] != name
|
38
|
-
yield("Object name '#{object_data[
|
38
|
+
yield("Object name '#{object_data["name"]}' doesn't match entry '#{name}'.")
|
39
39
|
end
|
40
40
|
|
41
41
|
if object_data["revision_id"] != revision
|
42
|
-
yield("Object revision ID '#{object_data[
|
42
|
+
yield("Object revision ID '#{object_data["revision_id"]}' doesn't match entry '#{revision}'.")
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -74,6 +74,7 @@ class Chef
|
|
74
74
|
|
75
75
|
argument_is_absolute = Chef::ChefFS::PathUtils.is_absolute?(path)
|
76
76
|
return false if is_absolute != argument_is_absolute
|
77
|
+
|
77
78
|
path = path[1, path.length - 1] if argument_is_absolute
|
78
79
|
|
79
80
|
path_parts = Chef::ChefFS::PathUtils.split(path)
|
@@ -81,6 +82,7 @@ class Chef
|
|
81
82
|
return false if regexp_parts.length <= path_parts.length && !has_double_star
|
82
83
|
# If the path doesn't match up to this point, children won't match either.
|
83
84
|
return false if path_parts.zip(regexp_parts).any? { |part, regexp| !regexp.nil? && !regexp.match(part) }
|
85
|
+
|
84
86
|
# Otherwise, it's possible we could match: the path matches to this point, and the pattern is longer than the path.
|
85
87
|
# TODO There is one edge case where the double star comes after some characters like abc**def--we could check whether the next
|
86
88
|
# bit of path starts with abc in that case.
|
@@ -114,6 +116,7 @@ class Chef
|
|
114
116
|
path = path[1, path.length - 1] if Chef::ChefFS::PathUtils.is_absolute?(path)
|
115
117
|
dirs_in_path = Chef::ChefFS::PathUtils.split(path).length
|
116
118
|
return nil if exact_parts.length <= dirs_in_path
|
119
|
+
|
117
120
|
exact_parts[dirs_in_path]
|
118
121
|
end
|
119
122
|
|
@@ -123,7 +126,8 @@ class Chef
|
|
123
126
|
# abc/*def.exact_path == 'abc/def'
|
124
127
|
# abc/x\\yz.exact_path == 'abc/xyz'
|
125
128
|
def exact_path
|
126
|
-
return nil if has_double_star || exact_parts.any?
|
129
|
+
return nil if has_double_star || exact_parts.any?(&:nil?)
|
130
|
+
|
127
131
|
result = Chef::ChefFS::PathUtils.join(*exact_parts)
|
128
132
|
is_absolute ? Chef::ChefFS::PathUtils.join("", result) : result
|
129
133
|
end
|
@@ -151,6 +155,7 @@ class Chef
|
|
151
155
|
def match?(path)
|
152
156
|
argument_is_absolute = Chef::ChefFS::PathUtils.is_absolute?(path)
|
153
157
|
return false if is_absolute != argument_is_absolute
|
158
|
+
|
154
159
|
path = path[1, path.length - 1] if argument_is_absolute
|
155
160
|
!!regexp.match(path)
|
156
161
|
end
|
@@ -183,7 +188,7 @@ class Chef
|
|
183
188
|
end
|
184
189
|
|
185
190
|
def calculate
|
186
|
-
|
191
|
+
unless @regexp
|
187
192
|
@is_absolute = Chef::ChefFS::PathUtils.is_absolute?(@pattern)
|
188
193
|
|
189
194
|
full_regexp_parts = []
|
@@ -213,9 +218,10 @@ class Chef
|
|
213
218
|
if has_double_star_prev
|
214
219
|
raise ArgumentError, ".. overlapping a ** is unsupported"
|
215
220
|
end
|
221
|
+
|
216
222
|
full_regexp_parts.pop
|
217
223
|
normalized_parts.pop
|
218
|
-
|
224
|
+
unless @has_double_star
|
219
225
|
@regexp_parts.pop
|
220
226
|
@exact_parts.pop
|
221
227
|
end
|
@@ -226,7 +232,7 @@ class Chef
|
|
226
232
|
# Build up the regexp
|
227
233
|
full_regexp_parts << regexp
|
228
234
|
normalized_parts << part
|
229
|
-
|
235
|
+
unless @has_double_star
|
230
236
|
@regexp_parts << Regexp.new("^#{regexp}$")
|
231
237
|
@exact_parts << exact
|
232
238
|
end
|
@@ -259,7 +265,7 @@ class Chef
|
|
259
265
|
pattern.split(pattern_special_characters).each_with_index do |part, index|
|
260
266
|
# Odd indexes from the split are symbols. Even are normal bits.
|
261
267
|
if index.even?
|
262
|
-
exact << part
|
268
|
+
exact << part unless exact.nil?
|
263
269
|
regexp << part
|
264
270
|
else
|
265
271
|
case part
|
@@ -277,7 +283,7 @@ class Chef
|
|
277
283
|
else
|
278
284
|
if part[0, 1] == '\\' && part.length == 2
|
279
285
|
# backslash escapes are only supported on Unix, and are handled here by leaving the escape on (it means the same thing in a regex)
|
280
|
-
exact << part[1, 1]
|
286
|
+
exact << part[1, 1] unless exact.nil?
|
281
287
|
if regexp_escape_characters.include?(part[1, 1])
|
282
288
|
regexp << part
|
283
289
|
else
|
@@ -288,7 +294,7 @@ class Chef
|
|
288
294
|
exact = nil
|
289
295
|
regexp << part
|
290
296
|
else
|
291
|
-
exact += part
|
297
|
+
exact += part unless exact.nil?
|
292
298
|
regexp << "\\#{part}"
|
293
299
|
end
|
294
300
|
end
|
@@ -94,6 +94,7 @@ class Chef
|
|
94
94
|
def self.resolve_path(entry, path)
|
95
95
|
return entry if path.length == 0
|
96
96
|
return resolve_path(entry.root, path) if path[0, 1] == "/" && entry.root != entry
|
97
|
+
|
97
98
|
if path[0, 1] == "/"
|
98
99
|
path = path[1, path.length - 1]
|
99
100
|
end
|
@@ -194,7 +195,7 @@ class Chef
|
|
194
195
|
# Check the outer regex pattern to see if it matches anything on the
|
195
196
|
# filesystem that isn't on the server
|
196
197
|
Chef::ChefFS::FileSystem.list(b_root, pattern).each do |b|
|
197
|
-
|
198
|
+
unless found_paths.include?(b.display_path)
|
198
199
|
a = Chef::ChefFS::FileSystem.resolve_path(a_root, b.display_path)
|
199
200
|
yield [ a, b ]
|
200
201
|
end
|
@@ -228,7 +229,7 @@ class Chef
|
|
228
229
|
|
229
230
|
# Check b for children that aren't in a
|
230
231
|
b.children.each do |b_child|
|
231
|
-
|
232
|
+
unless a_children_names.include?(b_child.bare_name)
|
232
233
|
result << [ a.child(b_child.bare_name), b_child ]
|
233
234
|
end
|
234
235
|
end
|
@@ -32,6 +32,7 @@ class Chef
|
|
32
32
|
if name != ""
|
33
33
|
raise ArgumentError, "Name of root object must be empty string: was '#{name}' instead"
|
34
34
|
end
|
35
|
+
|
35
36
|
@path = "/"
|
36
37
|
end
|
37
38
|
end
|
@@ -107,13 +108,15 @@ class Chef
|
|
107
108
|
|
108
109
|
# Override children to report your *actual* list of children as an array.
|
109
110
|
def children
|
110
|
-
raise NotFoundError.new(self)
|
111
|
+
raise NotFoundError.new(self) unless exists?
|
112
|
+
|
111
113
|
[]
|
112
114
|
end
|
113
115
|
|
114
116
|
# Expand this entry into a chef object (Chef::Role, ::Node, etc.)
|
115
117
|
def chef_object
|
116
|
-
raise NotFoundError.new(self)
|
118
|
+
raise NotFoundError.new(self) unless exists?
|
119
|
+
|
117
120
|
nil
|
118
121
|
end
|
119
122
|
|
@@ -124,14 +127,16 @@ class Chef
|
|
124
127
|
# your entry class, and will be called without actually reading the
|
125
128
|
# file_contents. This is used for knife upload /cookbooks/cookbookname.
|
126
129
|
def create_child(name, file_contents)
|
127
|
-
raise NotFoundError.new(self)
|
130
|
+
raise NotFoundError.new(self) unless exists?
|
131
|
+
|
128
132
|
raise OperationNotAllowedError.new(:create_child, self)
|
129
133
|
end
|
130
134
|
|
131
135
|
# Delete this item, possibly recursively. Entries MUST NOT delete a
|
132
136
|
# directory unless recurse is true.
|
133
137
|
def delete(recurse)
|
134
|
-
raise NotFoundError.new(self)
|
138
|
+
raise NotFoundError.new(self) unless exists?
|
139
|
+
|
135
140
|
raise OperationNotAllowedError.new(:delete, self)
|
136
141
|
end
|
137
142
|
|
@@ -166,13 +171,15 @@ class Chef
|
|
166
171
|
|
167
172
|
# Read the contents of this file entry.
|
168
173
|
def read
|
169
|
-
raise NotFoundError.new(self)
|
174
|
+
raise NotFoundError.new(self) unless exists?
|
175
|
+
|
170
176
|
raise OperationNotAllowedError.new(:read, self)
|
171
177
|
end
|
172
178
|
|
173
179
|
# Write the contents of this file entry.
|
174
180
|
def write(file_contents)
|
175
|
-
raise NotFoundError.new(self)
|
181
|
+
raise NotFoundError.new(self) unless exists?
|
182
|
+
|
176
183
|
raise OperationNotAllowedError.new(:write, self)
|
177
184
|
end
|
178
185
|
|