chef 15.1.36-universal-mingw32 → 15.2.20-universal-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -29,12 +29,12 @@ class Chef
|
|
29
29
|
introduced "14.0"
|
30
30
|
|
31
31
|
property :font_name, String,
|
32
|
-
|
33
|
-
|
32
|
+
description: "An optional property to set the name of the font to install if it differs from the resource block's name.",
|
33
|
+
name_property: true
|
34
34
|
|
35
35
|
property :source, String,
|
36
|
-
|
37
|
-
|
36
|
+
description: "A local filesystem path or URI that is used to source the font file.",
|
37
|
+
coerce: proc { |x| x =~ /^.:.*/ ? x.tr('\\', "/").gsub("//", "/") : x }
|
38
38
|
|
39
39
|
action :install do
|
40
40
|
description "Install a font to the system fonts directory."
|
@@ -49,11 +49,11 @@ class Chef
|
|
49
49
|
# In the past we accepted return code 127 for an unknown reason and 42 because of a bug
|
50
50
|
property :returns, [ String, Integer, Array ], default: [ 0 ], desired_state: false
|
51
51
|
property :source, String,
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
coerce: (proc do |s|
|
53
|
+
unless s.nil?
|
54
|
+
uri_scheme?(s) ? s : Chef::Util::PathHelper.canonical_path(s, false)
|
55
|
+
end
|
56
|
+
end)
|
57
57
|
property :checksum, String, desired_state: false
|
58
58
|
property :remote_file_attributes, Hash, desired_state: false
|
59
59
|
end
|
@@ -27,22 +27,22 @@ class Chef
|
|
27
27
|
introduced "14.0"
|
28
28
|
|
29
29
|
property :path, String,
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
coerce: proc { |x| x.tr("/", '\\') },
|
31
|
+
description: "An optional property to set the pagefile name if it differs from the resource block's name.",
|
32
|
+
name_property: true
|
33
33
|
|
34
34
|
property :system_managed, [TrueClass, FalseClass],
|
35
|
-
|
35
|
+
description: "Configures whether the system manages the pagefile size."
|
36
36
|
|
37
37
|
property :automatic_managed, [TrueClass, FalseClass],
|
38
|
-
|
39
|
-
|
38
|
+
description: "Enable automatic management of pagefile initial and maximum size. Setting this to true ignores 'initial_size' and 'maximum_size' properties.",
|
39
|
+
default: false
|
40
40
|
|
41
41
|
property :initial_size, Integer,
|
42
|
-
|
42
|
+
description: "Initial size of the pagefile in megabytes."
|
43
43
|
|
44
44
|
property :maximum_size, Integer,
|
45
|
-
|
45
|
+
description: "Maximum size of the pagefile in megabytes."
|
46
46
|
|
47
47
|
action :set do
|
48
48
|
description "Configures the default pagefile, creating if it doesn't exist."
|
@@ -87,6 +87,7 @@ class Chef
|
|
87
87
|
# is set then this validation is not necessary / doesn't make sense at all
|
88
88
|
def validate_name
|
89
89
|
return if /^.:.*.sys/ =~ new_resource.path
|
90
|
+
|
90
91
|
raise "#{new_resource.path} does not match the format DRIVE:\\path\\file.sys for pagefiles. Example: C:\\pagefile.sys"
|
91
92
|
end
|
92
93
|
|
@@ -31,8 +31,8 @@ class Chef
|
|
31
31
|
default_action :add
|
32
32
|
|
33
33
|
property :path, String,
|
34
|
-
|
35
|
-
|
34
|
+
description: "An optional property to set the path value if it differs from the resource block's name.",
|
35
|
+
name_property: true
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -31,37 +31,37 @@ class Chef
|
|
31
31
|
introduced "14.0"
|
32
32
|
|
33
33
|
property :device_id, String,
|
34
|
-
|
35
|
-
|
34
|
+
description: "An optional property to set the printer queue name if it differs from the resource block's name. Example: 'HP LJ 5200 in fifth floor copy room'.",
|
35
|
+
name_property: true
|
36
36
|
|
37
37
|
property :comment, String,
|
38
|
-
|
38
|
+
description: "Optional descriptor for the printer queue."
|
39
39
|
|
40
40
|
property :default, [TrueClass, FalseClass],
|
41
|
-
|
42
|
-
|
41
|
+
description: "Determines whether or not this should be the system's default printer.",
|
42
|
+
default: false
|
43
43
|
|
44
44
|
property :driver_name, String,
|
45
|
-
|
46
|
-
|
45
|
+
description: "The exact name of printer driver installed on the system.",
|
46
|
+
required: true
|
47
47
|
|
48
48
|
property :location, String,
|
49
|
-
|
49
|
+
description: "Printer location, such as 'Fifth floor copy room'."
|
50
50
|
|
51
51
|
property :shared, [TrueClass, FalseClass],
|
52
|
-
|
53
|
-
|
52
|
+
description: "Determines whether or not the printer is shared.",
|
53
|
+
default: false
|
54
54
|
|
55
55
|
property :share_name, String,
|
56
|
-
|
56
|
+
description: "The name used to identify the shared printer."
|
57
57
|
|
58
58
|
property :ipv4_address, String,
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
description: "The IPv4 address of the printer, such as '10.4.64.23'",
|
60
|
+
validation_message: "The ipv4_address property must be in the IPv4 format of WWW.XXX.YYY.ZZZ",
|
61
|
+
regex: Resolv::IPv4::Regex
|
62
62
|
|
63
63
|
property :exists, [TrueClass, FalseClass],
|
64
|
-
|
64
|
+
skip_docs: true
|
65
65
|
|
66
66
|
PRINTERS_REG_KEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\'.freeze unless defined?(PRINTERS_REG_KEY)
|
67
67
|
|
@@ -31,32 +31,32 @@ class Chef
|
|
31
31
|
introduced "14.0"
|
32
32
|
|
33
33
|
property :ipv4_address, String,
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
name_property: true,
|
35
|
+
regex: Resolv::IPv4::Regex,
|
36
|
+
validation_message: "The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!",
|
37
|
+
description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name."
|
38
38
|
|
39
39
|
property :port_name, String,
|
40
|
-
|
40
|
+
description: "The port name."
|
41
41
|
|
42
42
|
property :port_number, Integer,
|
43
|
-
|
44
|
-
|
43
|
+
description: "The port number.",
|
44
|
+
default: 9100
|
45
45
|
|
46
46
|
property :port_description, String,
|
47
|
-
|
47
|
+
description: "The description of the port."
|
48
48
|
|
49
49
|
property :snmp_enabled, [TrueClass, FalseClass],
|
50
|
-
|
51
|
-
|
50
|
+
description: "Determines if SNMP is enabled on the port.",
|
51
|
+
default: false
|
52
52
|
|
53
53
|
property :port_protocol, Integer,
|
54
|
-
|
55
|
-
|
56
|
-
|
54
|
+
description: "The printer port protocol: 1 (RAW) or 2 (LPR).",
|
55
|
+
validation_message: "port_protocol must be either 1 for RAW or 2 for LPR!",
|
56
|
+
default: 1, equal_to: [1, 2]
|
57
57
|
|
58
58
|
property :exists, [TrueClass, FalseClass],
|
59
|
-
|
59
|
+
skip_docs: true
|
60
60
|
|
61
61
|
PORTS_REG_KEY = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\\'.freeze unless defined?(PORTS_REG_KEY)
|
62
62
|
|
@@ -58,7 +58,7 @@ class Chef
|
|
58
58
|
# - :manual
|
59
59
|
# - :disabled
|
60
60
|
# Reference: https://github.com/chef/win32-service/blob/ffi/lib/win32/windows/constants.rb#L49-L54
|
61
|
-
property :startup_type, [Symbol], equal_to:
|
61
|
+
property :startup_type, [Symbol], equal_to: %i{automatic manual disabled}, default: :automatic, coerce: proc { |x|
|
62
62
|
if x.is_a?(Integer)
|
63
63
|
ALLOWED_START_TYPES.invert.fetch(x) do
|
64
64
|
Chef::Log.warn("Unsupported startup_type #{x}, falling back to :automatic")
|
@@ -75,25 +75,25 @@ class Chef
|
|
75
75
|
# 1 == delayed start is enabled
|
76
76
|
# 0 == NO delayed start
|
77
77
|
property :delayed_start, [TrueClass, FalseClass],
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
78
|
+
introduced: "14.0",
|
79
|
+
default: false, coerce: proc { |x|
|
80
|
+
if x.is_a?(Integer)
|
81
|
+
x == 0 ? false : true
|
82
|
+
else
|
83
|
+
x
|
84
|
+
end
|
85
|
+
}
|
86
86
|
|
87
87
|
# https://github.com/chef/win32-service/blob/ffi/lib/win32/windows/constants.rb#L43-L47
|
88
88
|
property :error_control, Integer, default: SERVICE_ERROR_NORMAL
|
89
89
|
|
90
90
|
property :binary_path_name, String,
|
91
|
-
|
92
|
-
|
91
|
+
introduced: "14.0",
|
92
|
+
description: "The fully qualified path to the service binary file. The path can also include arguments for an auto-start service. This is required for ':create' and ':configure' actions"
|
93
93
|
|
94
94
|
property :load_order_group, String,
|
95
|
-
|
96
|
-
|
95
|
+
introduced: "14.0",
|
96
|
+
description: "The names of the load ordering group of which this service is a member. Don't set this property if the service does not belong to a group."
|
97
97
|
|
98
98
|
# A pointer to a double null-terminated array of null-separated names of
|
99
99
|
# services or load ordering groups that the system must start before this
|
@@ -102,11 +102,11 @@ class Chef
|
|
102
102
|
# at least one member of the group is running after an attempt to start
|
103
103
|
# all members of the group.
|
104
104
|
property :dependencies, [String, Array],
|
105
|
-
|
105
|
+
introduced: "14.0"
|
106
106
|
|
107
107
|
property :description, String,
|
108
|
-
|
109
|
-
|
108
|
+
description: "Description of the service.",
|
109
|
+
introduced: "14.0"
|
110
110
|
|
111
111
|
property :run_as_user, String, default: "LocalSystem"
|
112
112
|
property :run_as_password, String, default: ""
|
@@ -33,65 +33,65 @@ class Chef
|
|
33
33
|
|
34
34
|
# Specifies a name for the SMB share. The name may be composed of any valid file name characters, but must be less than 80 characters long. The names pipe and mailslot are reserved for use by the computer.
|
35
35
|
property :share_name, String,
|
36
|
-
|
37
|
-
|
36
|
+
description: "An optional property to set the share name if it differs from the resource block's name.",
|
37
|
+
name_property: true
|
38
38
|
|
39
39
|
# Specifies the path of the location of the folder to share. The path must be fully qualified. Relative paths or paths that contain wildcard characters are not permitted.
|
40
40
|
property :path, String,
|
41
|
-
|
41
|
+
description: "The path of the folder to share. Required when creating. If the share already exists on a different path then it is deleted and re-created."
|
42
42
|
|
43
43
|
# Specifies an optional description of the SMB share. A description of the share is displayed by running the Get-SmbShare cmdlet. The description may not contain more than 256 characters.
|
44
44
|
property :description, String,
|
45
|
-
|
46
|
-
|
45
|
+
description: "The description to be applied to the share.",
|
46
|
+
default: ""
|
47
47
|
|
48
48
|
# Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess, ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
|
49
49
|
property :full_users, Array,
|
50
|
-
|
51
|
-
|
50
|
+
description: "The users that should have 'Full control' permissions on the share in domain\\username format.",
|
51
|
+
default: lazy { [] }, coerce: proc { |u| u.sort }
|
52
52
|
|
53
53
|
# Specifies which users are granted modify permission to access the share
|
54
54
|
property :change_users, Array,
|
55
|
-
|
56
|
-
|
55
|
+
description: "The users that should have 'modify' permission on the share in domain\\username format.",
|
56
|
+
default: lazy { [] }, coerce: proc { |u| u.sort }
|
57
57
|
|
58
58
|
# Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
|
59
59
|
property :read_users, Array,
|
60
|
-
|
61
|
-
|
60
|
+
description: "The users that should have 'read' permission on the share in domain\\username format.",
|
61
|
+
default: lazy { [] }, coerce: proc { |u| u.sort }
|
62
62
|
|
63
63
|
# Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares are persistent, and non-temporary.
|
64
64
|
property :temporary, [TrueClass, FalseClass],
|
65
|
-
|
66
|
-
|
65
|
+
description: "The lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer.",
|
66
|
+
default: false
|
67
67
|
|
68
68
|
# Specifies the scope name of the share.
|
69
69
|
property :scope_name, String,
|
70
|
-
|
71
|
-
|
70
|
+
description: "The scope name of the share.",
|
71
|
+
default: "*"
|
72
72
|
|
73
73
|
# Specifies the continuous availability time-out for the share.
|
74
74
|
property :ca_timeout, Integer,
|
75
|
-
|
76
|
-
|
75
|
+
description: "The continuous availability time-out for the share.",
|
76
|
+
default: 0
|
77
77
|
|
78
78
|
# Indicates that the share is continuously available.
|
79
79
|
property :continuously_available, [TrueClass, FalseClass],
|
80
|
-
|
81
|
-
|
80
|
+
description: "Indicates that the share is continuously available.",
|
81
|
+
default: false
|
82
82
|
|
83
83
|
# Specifies the caching mode of the offline files for the SMB share.
|
84
84
|
# property :caching_mode, String, equal_to: %w(None Manual Documents Programs BranchCache)
|
85
85
|
|
86
86
|
# Specifies the maximum number of concurrently connected users that the new SMB share may accommodate. If this parameter is set to zero (0), then the number of users is unlimited.
|
87
87
|
property :concurrent_user_limit, Integer,
|
88
|
-
|
89
|
-
|
88
|
+
description: "The maximum number of concurrently connected users the share can accommodate.",
|
89
|
+
default: 0
|
90
90
|
|
91
91
|
# Indicates that the share is encrypted.
|
92
92
|
property :encrypt_data, [TrueClass, FalseClass],
|
93
|
-
|
94
|
-
|
93
|
+
description: "Indicates that the share is encrypted.",
|
94
|
+
default: false
|
95
95
|
|
96
96
|
# Specifies which files and folders in the SMB share are visible to users. AccessBased: SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By default, access-based enumeration is disabled for new SMB shares. Unrestricted: SMB displays files and folders to a user even when the user does not have permission to access the items.
|
97
97
|
# property :folder_enumeration_mode, String, equal_to: %(AccessBased Unrestricted)
|
@@ -160,6 +160,7 @@ class Chef
|
|
160
160
|
|
161
161
|
json_results.each do |perm|
|
162
162
|
next unless perm["AccessControlType"] == 0 # allow
|
163
|
+
|
163
164
|
case perm["AccessRight"]
|
164
165
|
when 0 then f_users << stripped_account(perm["AccountName"]) # 0 full control
|
165
166
|
when 1 then c_users << stripped_account(perm["AccountName"]) # 1 == change
|
@@ -172,7 +173,7 @@ class Chef
|
|
172
173
|
# local names are returned from Get-SmbShareAccess in the full format MACHINE\\NAME
|
173
174
|
# but users of this resource would simply say NAME so we need to strip the values for comparison
|
174
175
|
def stripped_account(name)
|
175
|
-
name.slice!("#{node[
|
176
|
+
name.slice!("#{node["hostname"]}\\")
|
176
177
|
name
|
177
178
|
end
|
178
179
|
|
@@ -218,6 +219,7 @@ class Chef
|
|
218
219
|
def different_path?
|
219
220
|
return false if current_resource.nil? # going from nil to something isn't different for our concerns
|
220
221
|
return false if current_resource.path == Chef::Util::PathHelper.cleanpath(new_resource.path)
|
222
|
+
|
221
223
|
true
|
222
224
|
end
|
223
225
|
|
@@ -274,6 +276,7 @@ class Chef
|
|
274
276
|
# set permissions for a brand new share OR
|
275
277
|
# update permissions if the current state and desired state differ
|
276
278
|
next unless permissions_need_update?(perm_type)
|
279
|
+
|
277
280
|
grant_command = "Grant-SmbShareAccess -Name '#{new_resource.share_name}' -AccountName \"#{new_resource.send("#{perm_type}_users").join('","')}\" -Force -AccessRight #{perm_type}"
|
278
281
|
|
279
282
|
Chef::Log.debug("Running '#{grant_command}' to update the share permissions")
|
@@ -28,23 +28,23 @@ class Chef
|
|
28
28
|
introduced "14.0"
|
29
29
|
|
30
30
|
property :shortcut_name, String,
|
31
|
-
|
32
|
-
|
31
|
+
description: "An optional property to set the shortcut name if it differs from the resource block's name.",
|
32
|
+
name_property: true
|
33
33
|
|
34
34
|
property :target, String,
|
35
|
-
|
35
|
+
description: "The destination that the shortcut links to."
|
36
36
|
|
37
37
|
property :arguments, String,
|
38
|
-
|
38
|
+
description: "Arguments to pass to the target when the shortcut is executed."
|
39
39
|
|
40
40
|
property :description, String,
|
41
|
-
|
41
|
+
description: "The description of the shortcut"
|
42
42
|
|
43
43
|
property :cwd, String,
|
44
|
-
|
44
|
+
description: "Working directory to use when the target is executed."
|
45
45
|
|
46
46
|
property :iconlocation, String,
|
47
|
-
|
47
|
+
description: "Icon to use for the shortcut. Accepts the format of 'path, index', where index is the icon file to use. See https://msdn.microsoft.com/en-us/library/3s9bx7at.aspx for details"
|
48
48
|
|
49
49
|
load_current_value do |desired|
|
50
50
|
require "win32ole" if RUBY_PLATFORM =~ /mswin|mingw32|windows/
|
@@ -31,98 +31,98 @@ class Chef
|
|
31
31
|
allowed_actions :create, :delete, :run, :end, :enable, :disable, :change
|
32
32
|
default_action :create
|
33
33
|
|
34
|
-
property :task_name, String, regex: [
|
34
|
+
property :task_name, String, regex: [%r{\A[^/\:\*\?\<\>\|]+\z}],
|
35
35
|
description: "An optional property to set the task name if it differs from the resource block's name. Example: 'Task Name' or '/Task Name'",
|
36
36
|
name_property: true
|
37
37
|
|
38
38
|
property :command, String,
|
39
|
-
|
39
|
+
description: "The command to be executed by the windows scheduled task."
|
40
40
|
|
41
41
|
property :cwd, String,
|
42
|
-
|
42
|
+
description: "The directory the task will be run from."
|
43
43
|
|
44
44
|
property :user, String,
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
description: "The user to run the task as.",
|
46
|
+
default: lazy { Chef::ReservedNames::Win32::Security::SID.LocalSystem.account_simple_name if Chef::Platform.windows? },
|
47
|
+
default_description: "The localized SYSTEM user for the node."
|
48
48
|
|
49
49
|
property :password, String,
|
50
|
-
|
50
|
+
description: "The user’s password. The user property must be set if using this property."
|
51
51
|
|
52
|
-
property :run_level, Symbol, equal_to:
|
52
|
+
property :run_level, Symbol, equal_to: %i{highest limited},
|
53
53
|
description: "Run with ':limited' or ':highest' privileges.",
|
54
54
|
default: :limited
|
55
55
|
|
56
56
|
property :force, [TrueClass, FalseClass],
|
57
|
-
|
58
|
-
|
57
|
+
description: "When used with create, will update the task.",
|
58
|
+
default: false
|
59
59
|
|
60
60
|
property :interactive_enabled, [TrueClass, FalseClass],
|
61
|
-
|
62
|
-
|
61
|
+
description: "Allow task to run interactively or non-interactively. Requires user and password to also be set.",
|
62
|
+
default: false
|
63
63
|
|
64
64
|
property :frequency_modifier, [Integer, String],
|
65
|
-
|
66
|
-
|
67
|
-
property :frequency, Symbol, equal_to:
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
65
|
+
default: 1
|
66
|
+
|
67
|
+
property :frequency, Symbol, equal_to: %i{minute
|
68
|
+
hourly
|
69
|
+
daily
|
70
|
+
weekly
|
71
|
+
monthly
|
72
|
+
once
|
73
|
+
on_logon
|
74
|
+
onstart
|
75
|
+
on_idle
|
76
|
+
none},
|
77
77
|
description: "The frequency with which to run the task."
|
78
78
|
|
79
79
|
property :start_day, String,
|
80
|
-
|
80
|
+
description: "Specifies the first date on which the task runs in MM/DD/YYYY format."
|
81
81
|
|
82
82
|
property :start_time, String,
|
83
|
-
|
83
|
+
description: "Specifies the start time to run the task, in HH:mm format."
|
84
84
|
|
85
85
|
property :day, [String, Integer],
|
86
|
-
|
86
|
+
description: "The day(s) on which the task runs."
|
87
87
|
|
88
88
|
property :months, String,
|
89
|
-
|
89
|
+
description: "The Months of the year on which the task runs, such as: 'JAN, FEB' or '\*'. Multiple months should be comma delimited. e.g. 'Jan, Feb, Mar, Dec'."
|
90
90
|
|
91
91
|
property :idle_time, Integer,
|
92
|
-
|
92
|
+
description: "For :on_idle frequency, the time (in minutes) without user activity that must pass to trigger the task, from 1 - 999."
|
93
93
|
|
94
94
|
property :random_delay, [String, Integer],
|
95
|
-
|
95
|
+
description: "Delays the task up to a given time (in seconds)."
|
96
96
|
|
97
97
|
property :execution_time_limit, [String, Integer],
|
98
|
-
|
99
|
-
|
98
|
+
description: "The maximum time (in seconds) the task will run.",
|
99
|
+
default: "PT72H" # 72 hours in ISO8601 duration format
|
100
100
|
|
101
101
|
property :minutes_duration, [String, Integer],
|
102
|
-
|
102
|
+
description: ""
|
103
103
|
|
104
104
|
property :minutes_interval, [String, Integer],
|
105
|
-
|
105
|
+
description: ""
|
106
106
|
|
107
107
|
property :priority, Integer,
|
108
|
-
|
109
|
-
|
108
|
+
description: "Use to set Priority Levels range from 0 to 10.",
|
109
|
+
default: 7, callbacks: { "should be in range of 0 to 10" => proc { |v| v >= 0 && v <= 10 } }
|
110
110
|
|
111
111
|
property :disallow_start_if_on_batteries, [TrueClass, FalseClass],
|
112
|
-
|
113
|
-
|
112
|
+
introduced: "14.4", default: false,
|
113
|
+
description: "Disallow start of the task if the system is running on battery power."
|
114
114
|
|
115
115
|
property :stop_if_going_on_batteries, [TrueClass, FalseClass],
|
116
|
-
|
117
|
-
|
116
|
+
introduced: "14.4", default: false,
|
117
|
+
description: "Scheduled task option when system is switching on battery."
|
118
118
|
|
119
119
|
property :description, String,
|
120
|
-
|
121
|
-
|
120
|
+
introduced: "14.7",
|
121
|
+
description: "The task description."
|
122
122
|
|
123
123
|
property :start_when_available, [TrueClass, FalseClass],
|
124
|
-
|
125
|
-
|
124
|
+
introduced: "15.0", default: false,
|
125
|
+
description: "To start the task at any time after its scheduled time has passed."
|
126
126
|
|
127
127
|
attr_accessor :exists, :task, :command_arguments
|
128
128
|
|
@@ -140,6 +140,7 @@ class Chef
|
|
140
140
|
if execution_time_limit
|
141
141
|
execution_time_limit(259200) if execution_time_limit == "PT72H"
|
142
142
|
raise ArgumentError, "Invalid value passed for `execution_time_limit`. Please pass seconds as an Integer (e.g. 60) or a String with numeric values only (e.g. '60')." unless numeric_value_in_string?(execution_time_limit)
|
143
|
+
|
143
144
|
execution_time_limit(sec_to_min(execution_time_limit))
|
144
145
|
end
|
145
146
|
|
@@ -174,7 +175,7 @@ class Chef
|
|
174
175
|
end
|
175
176
|
|
176
177
|
def validate_frequency(frequency)
|
177
|
-
if frequency.nil? || !(
|
178
|
+
if frequency.nil? || !(%i{minute hourly daily weekly monthly once on_logon onstart on_idle none}.include?(frequency))
|
178
179
|
raise ArgumentError, "Frequency needs to be provided. Valid frequencies are :minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :on_idle, :none."
|
179
180
|
end
|
180
181
|
end
|
@@ -200,7 +201,7 @@ class Chef
|
|
200
201
|
end
|
201
202
|
|
202
203
|
def validate_random_delay(random_delay, frequency)
|
203
|
-
if
|
204
|
+
if %i{on_logon onstart on_idle none}.include? frequency
|
204
205
|
raise ArgumentError, "`random_delay` property is supported only for frequency :once, :minute, :hourly, :daily, :weekly and :monthly"
|
205
206
|
end
|
206
207
|
|
@@ -215,7 +216,7 @@ class Chef
|
|
215
216
|
|
216
217
|
# make sure the start_day is in MM/DD/YYYY format: http://rubular.com/r/cgjHemtWl5
|
217
218
|
if start_day
|
218
|
-
raise ArgumentError, "`start_day` property must be in the MM/DD/YYYY format." unless
|
219
|
+
raise ArgumentError, "`start_day` property must be in the MM/DD/YYYY format." unless %r{^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$} =~ start_day
|
219
220
|
end
|
220
221
|
end
|
221
222
|
|
@@ -255,7 +256,7 @@ class Chef
|
|
255
256
|
alias non_system_user? password_required?
|
256
257
|
|
257
258
|
def validate_create_frequency_modifier(frequency, frequency_modifier)
|
258
|
-
if (
|
259
|
+
if (%i{on_logon onstart on_idle none}.include?(frequency)) && ( frequency_modifier != 1)
|
259
260
|
raise ArgumentError, "frequency_modifier property not supported with frequency :#{frequency}"
|
260
261
|
end
|
261
262
|
|
@@ -287,7 +288,7 @@ class Chef
|
|
287
288
|
end
|
288
289
|
|
289
290
|
def validate_create_day(day, frequency, frequency_modifier)
|
290
|
-
raise ArgumentError, "day property is only valid for tasks that run monthly or weekly" unless
|
291
|
+
raise ArgumentError, "day property is only valid for tasks that run monthly or weekly" unless %i{weekly monthly}.include?(frequency)
|
291
292
|
|
292
293
|
# This has been verified with schtask.exe https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks#d-dayday--
|
293
294
|
# verified with earlier code if day "*" is given with frequency it raised exception Invalid value for /D option
|
@@ -301,7 +302,7 @@ class Chef
|
|
301
302
|
else
|
302
303
|
days.map! { |day| day.to_s.strip.downcase }
|
303
304
|
unless (days - VALID_WEEK_DAYS).empty?
|
304
|
-
raise ArgumentError, "day property invalid. Only valid values are: #{VALID_WEEK_DAYS.map(&:upcase).join(
|
305
|
+
raise ArgumentError, "day property invalid. Only valid values are: #{VALID_WEEK_DAYS.map(&:upcase).join(", ")}. Multiple values must be separated by a comma."
|
305
306
|
end
|
306
307
|
end
|
307
308
|
end
|
@@ -309,11 +310,12 @@ class Chef
|
|
309
310
|
|
310
311
|
def validate_create_months(months, frequency)
|
311
312
|
raise ArgumentError, "months property is only valid for tasks that run monthly" if frequency != :monthly
|
313
|
+
|
312
314
|
if months.is_a?(String)
|
313
315
|
months = months.split(",")
|
314
316
|
months.map! { |month| month.strip.upcase }
|
315
317
|
unless (months - VALID_MONTHS).empty?
|
316
|
-
raise ArgumentError, "months property invalid. Only valid values are: #{VALID_MONTHS.join(
|
318
|
+
raise ArgumentError, "months property invalid. Only valid values are: #{VALID_MONTHS.join(", ")}. Multiple values must be separated by a comma."
|
317
319
|
end
|
318
320
|
end
|
319
321
|
end
|