chef 13.12.14-universal-mingw32 → 14.0.190-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/CONTRIBUTING.md +151 -0
- data/Gemfile +12 -9
- data/README.md +34 -32
- data/Rakefile +22 -18
- data/VERSION +1 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +33 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +272 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +57 -0
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +68 -0
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -0
- data/acceptance/Gemfile +19 -0
- data/acceptance/Gemfile.lock +266 -0
- data/acceptance/README.md +137 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/basics/.kitchen.yml +4 -0
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +19 -0
- data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +6 -0
- data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +8 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +16 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +3 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +101 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +3 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +7 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +44 -0
- data/acceptance/data-collector/.kitchen.yml +9 -0
- data/acceptance/data-collector/Berksfile +3 -0
- data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +208 -0
- data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +8 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +61 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +43 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +41 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/top-cookbooks/.gitignore +1 -0
- data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +6 -0
- data/acceptance/top-cookbooks/.kitchen.iis.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.powershell.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.sql_server.yml +5 -0
- data/acceptance/top-cookbooks/.kitchen.winbox.yml +8 -0
- data/acceptance/top-cookbooks/.kitchen.windows.yml +38 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/trivial/.kitchen.yml +7 -0
- data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +5 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +2 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/windows-service/.kitchen.yml +7 -0
- data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +58 -0
- data/chef-universal-mingw32.gemspec +2 -2
- data/chef.gemspec +10 -10
- data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
- data/distro/powershell/chef/Newtonsoft.Json.dll +0 -0
- data/lib/chef/api_client.rb +1 -1
- data/lib/chef/api_client/registration.rb +10 -2
- data/lib/chef/api_client_v1.rb +7 -6
- data/lib/chef/application.rb +75 -46
- data/lib/chef/application/client.rb +17 -19
- data/lib/chef/application/solo.rb +13 -16
- data/lib/chef/application/windows_service.rb +5 -5
- data/lib/chef/audit/audit_event_proxy.rb +1 -1
- data/lib/chef/audit/audit_reporter.rb +12 -12
- data/lib/chef/audit/runner.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +17 -31
- data/lib/chef/chef_fs/command_line.rb +9 -9
- data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -2
- data/lib/chef/chef_fs/file_system_cache.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +2 -2
- data/lib/chef/client.rb +61 -41
- data/lib/chef/config.rb +1 -2
- data/lib/chef/config_fetcher.rb +1 -1
- data/lib/chef/cookbook/chefignore.rb +2 -2
- data/lib/chef/cookbook/cookbook_collection.rb +2 -2
- data/lib/chef/cookbook/cookbook_version_loader.rb +0 -1
- data/lib/chef/cookbook/gem_installer.rb +4 -4
- data/lib/chef/cookbook/manifest_v2.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +2 -3
- data/lib/chef/cookbook/remote_file_vendor.rb +4 -4
- data/lib/chef/cookbook/synchronizer.rb +2 -2
- data/lib/chef/cookbook/syntax_check.rb +4 -4
- data/lib/chef/cookbook_loader.rb +10 -2
- data/lib/chef/cookbook_site_streaming_uploader.rb +4 -4
- data/lib/chef/cookbook_uploader.rb +2 -3
- data/lib/chef/cookbook_version.rb +5 -11
- data/lib/chef/data_bag.rb +1 -3
- data/lib/chef/data_bag_item.rb +1 -7
- data/lib/chef/data_collector.rb +111 -35
- data/lib/chef/data_collector/messages.rb +2 -2
- data/lib/chef/data_collector/messages/helpers.rb +2 -4
- data/lib/chef/deprecated.rb +0 -4
- data/lib/chef/dsl/data_query.rb +1 -5
- data/lib/chef/dsl/include_attribute.rb +3 -7
- data/lib/chef/dsl/include_recipe.rb +1 -5
- data/lib/chef/dsl/platform_introspection.rb +9 -13
- data/lib/chef/dsl/reboot_pending.rb +1 -8
- data/lib/chef/dsl/recipe.rb +2 -12
- data/lib/chef/dsl/universal.rb +3 -3
- data/lib/chef/environment.rb +2 -4
- data/lib/chef/event_dispatch/dsl.rb +2 -2
- data/lib/chef/exceptions.rb +1 -1
- data/lib/chef/file_access_control/unix.rb +14 -14
- data/lib/chef/file_content_management/content_base.rb +3 -1
- data/lib/chef/file_content_management/deploy/cp.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +4 -4
- data/lib/chef/file_content_management/deploy/mv_windows.rb +1 -1
- data/lib/chef/file_content_management/tempfile.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +3 -3
- data/lib/chef/guard_interpreter/default_guard_interpreter.rb +3 -1
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -2
- data/lib/chef/handler.rb +1 -3
- data/lib/chef/handler/json_file.rb +1 -2
- data/lib/chef/http.rb +23 -11
- data/lib/chef/http/auth_credentials.rb +1 -1
- data/lib/chef/http/basic_client.rb +16 -17
- data/lib/chef/http/decompressor.rb +6 -6
- data/lib/chef/http/http_request.rb +5 -5
- data/lib/chef/http/json_output.rb +2 -2
- data/lib/chef/http/socketless_chef_zero_client.rb +2 -2
- data/lib/chef/http/validate_content_length.rb +5 -5
- data/lib/chef/knife.rb +1 -1
- data/lib/chef/knife/bootstrap.rb +12 -37
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +7 -1
- data/lib/chef/knife/client_reregister.rb +1 -1
- data/lib/chef/knife/configure.rb +1 -3
- data/lib/chef/knife/cookbook_download.rb +2 -2
- data/lib/chef/knife/cookbook_metadata.rb +3 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/cookbook_site_share.rb +5 -5
- data/lib/chef/knife/cookbook_test.rb +2 -2
- data/lib/chef/knife/cookbook_upload.rb +2 -2
- data/lib/chef/knife/core/status_presenter.rb +22 -17
- data/lib/chef/knife/core/subcommand_loader.rb +1 -1
- data/lib/chef/knife/deps.rb +1 -1
- data/lib/chef/knife/environment_compare.rb +4 -4
- data/lib/chef/knife/exec.rb +3 -3
- data/lib/chef/knife/list.rb +1 -1
- data/lib/chef/knife/node_policy_set.rb +79 -0
- data/lib/chef/knife/osc_user_reregister.rb +1 -1
- data/lib/chef/knife/ssh.rb +35 -22
- data/lib/chef/knife/ssl_check.rb +3 -3
- data/lib/chef/knife/ssl_fetch.rb +1 -1
- data/lib/chef/knife/user_reregister.rb +1 -1
- data/lib/chef/knife/xargs.rb +1 -1
- data/lib/chef/mixin/api_version_request_handling.rb +2 -4
- data/lib/chef/mixin/create_path.rb +1 -1
- data/lib/chef/mixin/deprecation.rb +14 -14
- data/lib/chef/mixin/from_file.rb +5 -0
- data/lib/chef/mixin/get_source_from_package.rb +2 -2
- data/lib/chef/mixin/homebrew_user.rb +13 -2
- data/lib/chef/mixin/openssl_helper.rb +119 -0
- data/lib/chef/mixin/params_validate.rb +2 -8
- data/lib/chef/mixin/powershell_exec.rb +105 -0
- data/lib/chef/mixin/provides.rb +3 -2
- data/lib/chef/mixin/securable.rb +1 -5
- data/lib/chef/mixin/shell_out.rb +2 -2
- data/lib/chef/mixin/template.rb +1 -3
- data/lib/chef/mixin/user_context.rb +6 -3
- data/lib/chef/mixin/why_run.rb +6 -11
- data/lib/chef/monkey_patches/net_http.rb +7 -7
- data/lib/chef/monologger.rb +2 -86
- data/lib/chef/node.rb +30 -20
- data/lib/chef/node/attribute.rb +1 -6
- data/lib/chef/node/attribute_collections.rb +2 -2
- data/lib/chef/node/immutable_collections.rb +1 -1
- data/lib/chef/node/mixin/immutablize_array.rb +110 -3
- data/lib/chef/node/mixin/immutablize_hash.rb +111 -5
- data/lib/chef/node_map.rb +5 -23
- data/lib/chef/platform/query_helpers.rb +0 -12
- data/lib/chef/policy_builder/dynamic.rb +1 -1
- data/lib/chef/policy_builder/expand_node_object.rb +1 -1
- data/lib/chef/policy_builder/policyfile.rb +17 -1
- data/lib/chef/powershell.rb +55 -0
- data/lib/chef/property.rb +12 -34
- data/lib/chef/provider.rb +16 -39
- data/lib/chef/provider/apt_preference.rb +3 -3
- data/lib/chef/provider/apt_repository.rb +116 -34
- data/lib/chef/provider/batch.rb +1 -1
- data/lib/chef/provider/cookbook_file/content.rb +1 -1
- data/lib/chef/provider/cron.rb +10 -10
- data/lib/chef/provider/cron/unix.rb +3 -3
- data/lib/chef/provider/directory.rb +3 -3
- data/lib/chef/provider/dsc_resource.rb +4 -4
- data/lib/chef/provider/dsc_script.rb +4 -4
- data/lib/chef/provider/execute.rb +9 -5
- data/lib/chef/provider/file.rb +12 -12
- data/lib/chef/provider/git.rb +14 -14
- data/lib/chef/provider/group.rb +6 -6
- data/lib/chef/provider/group/aix.rb +1 -1
- data/lib/chef/provider/group/dscl.rb +4 -4
- data/lib/chef/provider/group/groupadd.rb +4 -4
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +4 -4
- data/lib/chef/provider/group/windows.rb +2 -2
- data/lib/chef/provider/http_request.rb +12 -12
- data/lib/chef/provider/ifconfig.rb +6 -6
- data/lib/chef/provider/ifconfig/aix.rb +1 -1
- data/lib/chef/provider/ifconfig/debian.rb +3 -5
- data/lib/chef/provider/launchd.rb +1 -1
- data/lib/chef/provider/link.rb +6 -6
- data/lib/chef/provider/log.rb +1 -1
- data/lib/chef/provider/lwrp_base.rb +2 -2
- data/lib/chef/provider/mdadm.rb +10 -10
- data/lib/chef/provider/mount.rb +12 -12
- data/lib/chef/provider/mount/aix.rb +20 -21
- data/lib/chef/provider/mount/mount.rb +20 -15
- data/lib/chef/provider/mount/solaris.rb +6 -6
- data/lib/chef/provider/mount/windows.rb +7 -7
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/ohai.rb +1 -1
- data/lib/chef/provider/osx_profile.rb +8 -8
- data/lib/chef/provider/package.rb +56 -42
- data/lib/chef/provider/package/apt.rb +24 -14
- data/lib/chef/provider/package/{aix.rb → bff.rb} +12 -12
- data/lib/chef/provider/package/cab.rb +3 -3
- data/lib/chef/provider/package/chocolatey.rb +1 -9
- data/lib/chef/provider/package/dnf/python_helper.rb +6 -6
- data/lib/chef/provider/package/dpkg.rb +9 -9
- data/lib/chef/provider/package/freebsd/base.rb +2 -2
- data/lib/chef/provider/package/freebsd/pkg.rb +2 -2
- data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
- data/lib/chef/provider/package/homebrew.rb +3 -3
- data/lib/chef/provider/package/ips.rb +2 -2
- data/lib/chef/provider/package/macports.rb +3 -3
- data/lib/chef/provider/package/msu.rb +2 -2
- data/lib/chef/provider/package/openbsd.rb +3 -3
- data/lib/chef/provider/package/pacman.rb +3 -3
- data/lib/chef/provider/package/paludis.rb +2 -2
- data/lib/chef/provider/package/portage.rb +27 -33
- data/lib/chef/provider/package/powershell.rb +24 -9
- data/lib/chef/provider/package/rpm.rb +5 -6
- data/lib/chef/provider/package/rubygems.rb +32 -28
- data/lib/chef/provider/package/smartos.rb +6 -6
- data/lib/chef/provider/package/solaris.rb +10 -10
- data/lib/chef/provider/package/windows.rb +6 -15
- data/lib/chef/provider/package/windows/exe.rb +6 -4
- data/lib/chef/provider/package/windows/msi.rb +8 -6
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +12 -6
- data/lib/chef/provider/package/yum.rb +167 -398
- data/lib/chef/provider/package/yum/python_helper.rb +221 -0
- data/lib/chef/provider/package/yum/rpm_utils.rb +10 -1
- data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +79 -0
- data/lib/chef/provider/package/yum/simplejson/__init__.py +318 -0
- data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.py +354 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.py +440 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.py +65 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/tool.py +37 -0
- data/lib/chef/provider/package/yum/version.rb +56 -0
- data/lib/chef/provider/package/yum/yum_cache.rb +33 -316
- data/lib/chef/provider/package/yum/yum_helper.py +198 -0
- data/lib/chef/provider/package/zypper.rb +9 -13
- data/lib/chef/provider/powershell_script.rb +3 -3
- data/lib/chef/provider/reboot.rb +3 -3
- data/lib/chef/provider/registry_key.rb +16 -4
- data/lib/chef/provider/remote_directory.rb +1 -3
- data/lib/chef/provider/remote_file/cache_control_data.rb +1 -1
- data/lib/chef/provider/remote_file/content.rb +4 -4
- data/lib/chef/provider/remote_file/http.rb +5 -3
- data/lib/chef/provider/remote_file/local_file.rb +1 -1
- data/lib/chef/provider/remote_file/network_file.rb +2 -2
- data/lib/chef/provider/route.rb +12 -11
- data/lib/chef/provider/ruby_block.rb +1 -1
- data/lib/chef/provider/script.rb +2 -2
- data/lib/chef/provider/service.rb +14 -14
- data/lib/chef/provider/service/aix.rb +3 -3
- data/lib/chef/provider/service/aixinit.rb +2 -2
- data/lib/chef/provider/service/debian.rb +5 -5
- data/lib/chef/provider/service/freebsd.rb +3 -3
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +8 -8
- data/lib/chef/provider/service/openbsd.rb +1 -1
- data/lib/chef/provider/service/simple.rb +7 -7
- data/lib/chef/provider/service/systemd.rb +4 -4
- data/lib/chef/provider/service/upstart.rb +10 -9
- data/lib/chef/provider/service/windows.rb +245 -70
- data/lib/chef/provider/subversion.rb +8 -8
- data/lib/chef/provider/systemd_unit.rb +25 -6
- data/lib/chef/provider/user.rb +10 -10
- data/lib/chef/provider/user/aix.rb +3 -3
- data/lib/chef/provider/user/dscl.rb +2 -2
- data/lib/chef/provider/user/pw.rb +4 -4
- data/lib/chef/provider/user/solaris.rb +1 -1
- data/lib/chef/provider/user/useradd.rb +3 -3
- data/lib/chef/provider/user/windows.rb +4 -4
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +1 -1
- data/lib/chef/provider/{env.rb → windows_env.rb} +55 -19
- data/lib/chef/provider/windows_task.rb +27 -27
- data/lib/chef/provider/zypper_repository.rb +7 -7
- data/lib/chef/provider_resolver.rb +4 -4
- data/lib/chef/providers.rb +2 -9
- data/lib/chef/resource.rb +19 -13
- data/lib/chef/resource/action_class.rb +2 -2
- data/lib/chef/resource/apt_package.rb +10 -4
- data/lib/chef/resource/apt_preference.rb +20 -7
- data/lib/chef/resource/apt_repository.rb +21 -12
- data/lib/chef/resource/apt_update.rb +3 -3
- data/lib/chef/resource/bash.rb +6 -4
- data/lib/chef/resource/batch.rb +8 -6
- data/lib/chef/resource/bff_package.rb +8 -5
- data/lib/chef/resource/breakpoint.rb +9 -6
- data/lib/chef/resource/build_essential.rb +139 -0
- data/lib/chef/resource/cab_package.rb +5 -4
- data/lib/chef/resource/chef_gem.rb +1 -1
- data/lib/chef/resource/chef_handler.rb +130 -0
- data/lib/chef/resource/chocolatey_package.rb +6 -6
- data/lib/chef/resource/cookbook_file.rb +12 -9
- data/lib/chef/resource/cron.rb +14 -75
- data/lib/chef/resource/csh.rb +6 -4
- data/lib/chef/resource/directory.rb +7 -4
- data/lib/chef/resource/dmg_package.rb +161 -0
- data/lib/chef/resource/dnf_package.rb +10 -7
- data/lib/chef/resource/dpkg_package.rb +5 -3
- data/lib/chef/resource/dsc_resource.rb +11 -28
- data/lib/chef/resource/dsc_script.rb +14 -37
- data/lib/chef/resource/execute.rb +15 -78
- data/lib/chef/resource/file.rb +6 -5
- data/lib/chef/resource/file/verification.rb +5 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +6 -3
- data/lib/chef/resource/git.rb +4 -15
- data/lib/chef/resource/group.rb +7 -46
- data/lib/chef/resource/homebrew_cask.rb +98 -0
- data/lib/chef/resource/homebrew_package.rb +3 -3
- data/lib/chef/resource/homebrew_tap.rb +86 -0
- data/lib/chef/resource/hostname.rb +249 -0
- data/lib/chef/resource/http_request.rb +8 -22
- data/lib/chef/resource/ifconfig.rb +3 -2
- data/lib/chef/resource/ips_package.rb +4 -3
- data/lib/chef/resource/ksh.rb +7 -6
- data/lib/chef/resource/launchd.rb +4 -4
- data/lib/chef/resource/link.rb +18 -56
- data/lib/chef/resource/log.rb +6 -8
- data/lib/chef/resource/lwrp_base.rb +4 -5
- data/lib/chef/resource/macos_userdefaults.rb +133 -0
- data/lib/chef/resource/macosx_service.rb +7 -23
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/mdadm.rb +13 -84
- data/lib/chef/resource/mount.rb +21 -127
- data/lib/chef/resource/msu_package.rb +4 -4
- data/lib/chef/resource/ohai.rb +5 -3
- data/lib/chef/resource/ohai_hint.rb +93 -0
- data/lib/chef/resource/openbsd_package.rb +3 -3
- data/lib/chef/resource/openssl_dhparam.rb +80 -0
- data/lib/chef/resource/openssl_rsa_private_key.rb +93 -0
- data/lib/chef/resource/openssl_rsa_public_key.rb +73 -0
- data/lib/chef/resource/osx_profile.rb +9 -10
- data/lib/chef/resource/package.rb +8 -6
- data/lib/chef/resource/pacman_package.rb +3 -2
- data/lib/chef/resource/paludis_package.rb +4 -4
- data/lib/chef/resource/perl.rb +6 -4
- data/lib/chef/resource/portage_package.rb +3 -6
- data/lib/chef/resource/powershell_package.rb +9 -13
- data/lib/chef/resource/powershell_script.rb +9 -8
- data/lib/chef/resource/python.rb +5 -4
- data/lib/chef/resource/reboot.rb +8 -9
- data/lib/chef/resource/registry_key.rb +9 -19
- data/lib/chef/resource/remote_directory.rb +5 -3
- data/lib/chef/resource/remote_file.rb +11 -50
- data/lib/chef/resource/resource_notification.rb +2 -2
- data/lib/chef/resource/rhsm_errata.rb +44 -0
- data/lib/chef/resource/rhsm_errata_level.rb +51 -0
- data/lib/chef/resource/rhsm_register.rb +162 -0
- data/lib/chef/resource/rhsm_repo.rb +62 -0
- data/lib/chef/resource/rhsm_subscription.rb +95 -0
- data/lib/chef/resource/route.rb +3 -1
- data/lib/chef/resource/rpm_package.rb +3 -3
- data/lib/chef/resource/ruby.rb +6 -4
- data/lib/chef/resource/ruby_block.rb +6 -17
- data/lib/chef/resource/scm.rb +14 -146
- data/lib/chef/resource/script.rb +7 -5
- data/lib/chef/resource/service.rb +2 -1
- data/lib/chef/resource/smartos_package.rb +4 -3
- data/lib/chef/resource/solaris_package.rb +3 -2
- data/lib/chef/resource/subversion.rb +20 -4
- data/lib/chef/resource/sudo.rb +231 -0
- data/lib/chef/resource/support/sudoer.erb +18 -0
- data/lib/chef/resource/swap_file.rb +209 -0
- data/lib/chef/resource/sysctl.rb +111 -0
- data/lib/chef/resource/systemd_unit.rb +6 -5
- data/lib/chef/resource/template.rb +6 -27
- data/lib/chef/resource/windows_ad_join.rb +92 -0
- data/lib/chef/resource/windows_auto_run.rb +87 -0
- data/lib/chef/resource/{env.rb → windows_env.rb} +11 -5
- data/lib/chef/resource/windows_feature.rb +95 -0
- data/lib/chef/resource/windows_feature_dism.rb +226 -0
- data/lib/chef/resource/windows_feature_powershell.rb +256 -0
- data/lib/chef/resource/windows_font.rb +127 -0
- data/lib/chef/resource/windows_package.rb +5 -3
- data/lib/chef/resource/windows_pagefile.rb +206 -0
- data/lib/chef/resource/windows_path.rb +3 -3
- data/lib/chef/resource/windows_printer.rb +148 -0
- data/lib/chef/resource/windows_printer_port.rb +136 -0
- data/lib/chef/resource/windows_service.rb +79 -38
- data/lib/chef/resource/windows_shortcut.rb +79 -0
- data/lib/chef/resource/windows_task.rb +5 -5
- data/lib/chef/resource/yum_package.rb +8 -2
- data/lib/chef/resource/yum_repository.rb +12 -5
- data/lib/chef/resource/zypper_package.rb +5 -3
- data/lib/chef/resource/zypper_repository.rb +17 -12
- data/lib/chef/resource_inspector.rb +89 -0
- data/lib/chef/resource_reporter.rb +5 -6
- data/lib/chef/resource_resolver.rb +4 -4
- data/lib/chef/resources.rb +31 -6
- data/lib/chef/role.rb +1 -3
- data/lib/chef/run_context.rb +21 -12
- data/lib/chef/run_context/cookbook_compiler.rb +18 -9
- data/lib/chef/search/query.rb +1 -2
- data/lib/chef/shell.rb +0 -1
- data/lib/chef/shell/model_wrapper.rb +1 -1
- data/lib/chef/shell/shell_session.rb +4 -3
- data/lib/chef/util/diff.rb +2 -2
- data/lib/chef/util/dsc/configuration_generator.rb +1 -1
- data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
- data/lib/chef/util/dsc/local_configuration_manager.rb +4 -4
- data/lib/chef/util/selinux.rb +1 -1
- data/lib/chef/util/windows/logon_session.rb +5 -2
- data/lib/chef/util/windows/net_user.rb +2 -2
- data/lib/chef/util/windows/volume.rb +0 -4
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/error.rb +2 -2
- data/lib/chef/win32/api/net.rb +1 -1
- data/lib/chef/win32/api/security.rb +11 -0
- data/lib/chef/win32/eventlog.rb +2 -2
- data/lib/chef/win32/mutex.rb +1 -1
- data/lib/chef/win32/registry.rb +17 -17
- data/lib/chef/win32/security.rb +34 -12
- data/lib/chef/win32/security/sid.rb +1 -2
- data/lib/chef/win32/version.rb +2 -15
- data/lib/chef/win32_service_constants.rb +143 -0
- data/spec/data/mixin/invalid_data.rb +3 -0
- data/spec/data/mixin/real_data.rb +2 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/repomd.xml +19 -53
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +2 -2
- data/spec/functional/http/simple_spec.rb +6 -6
- data/spec/functional/mixin/from_file_spec.rb +82 -0
- data/spec/functional/notifications_spec.rb +1 -1
- data/spec/functional/resource/{package_spec.rb → apt_package_spec.rb} +4 -4
- data/spec/functional/resource/dnf_package_spec.rb +115 -115
- data/spec/functional/resource/ifconfig_spec.rb +1 -2
- data/spec/functional/resource/link_spec.rb +9 -13
- data/spec/functional/resource/powershell_script_spec.rb +0 -2
- data/spec/functional/resource/registry_spec.rb +3 -3
- data/spec/functional/resource/remote_file_spec.rb +4 -4
- data/spec/functional/resource/user/windows_spec.rb +3 -1
- data/spec/functional/resource/windows_env_spec.rb +285 -0
- data/spec/functional/resource/windows_task_spec.rb +303 -2
- data/spec/functional/resource/yum_package_spec.rb +949 -0
- data/spec/functional/root_alias_spec.rb +1 -1
- data/spec/functional/win32/security_spec.rb +60 -7
- data/spec/functional/win32/versions_spec.rb +7 -9
- data/spec/integration/client/client_spec.rb +99 -7
- data/spec/integration/knife/chef_fs_data_store_spec.rb +23 -4
- data/spec/integration/recipes/recipe_dsl_spec.rb +26 -26
- data/spec/integration/recipes/resource_action_spec.rb +25 -120
- data/spec/spec_helper.rb +10 -2
- data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -2
- data/spec/support/lib/chef/resource/zen_master.rb +1 -3
- data/spec/support/mock/constant.rb +1 -1
- data/spec/support/platform_helpers.rb +24 -7
- data/spec/support/shared/context/client.rb +13 -10
- data/spec/support/shared/examples/client.rb +50 -0
- data/spec/support/shared/functional/file_resource.rb +1 -1
- data/spec/support/shared/functional/securable_resource.rb +2 -2
- data/spec/support/shared/integration/knife_support.rb +5 -0
- data/spec/unit/application/client_spec.rb +39 -13
- data/spec/unit/application/solo_spec.rb +1 -8
- data/spec/unit/application_spec.rb +66 -2
- data/spec/unit/audit/audit_event_proxy_spec.rb +1 -1
- data/spec/unit/audit/audit_reporter_spec.rb +16 -16
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/client_spec.rb +3 -4
- data/spec/unit/cookbook/metadata_spec.rb +1 -1
- data/spec/unit/cookbook_loader_spec.rb +6 -6
- data/spec/unit/cookbook_manifest_spec.rb +2 -2
- data/spec/unit/cookbook_version_file_specificity_spec.rb +5 -25
- data/spec/unit/data_collector/messages/helpers_spec.rb +9 -0
- data/spec/unit/data_collector/resource_report_spec.rb +3 -3
- data/spec/unit/data_collector_spec.rb +135 -1
- data/spec/unit/dsl/reboot_pending_spec.rb +0 -13
- data/spec/unit/dsl/recipe_spec.rb +0 -13
- data/spec/unit/environment_spec.rb +2 -2
- data/spec/unit/exceptions_spec.rb +1 -1
- data/spec/unit/http/validate_content_length_spec.rb +5 -5
- data/spec/unit/knife/bootstrap_spec.rb +11 -15
- data/spec/unit/knife/configure_spec.rb +1 -2
- data/spec/unit/knife/cookbook_test_spec.rb +2 -2
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +2 -2
- data/spec/unit/knife/core/node_editor_spec.rb +6 -6
- data/spec/unit/knife/environment_compare_spec.rb +3 -3
- data/spec/unit/knife/node_edit_spec.rb +3 -1
- data/spec/unit/knife/node_policy_set_spec.rb +122 -0
- data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
- data/spec/unit/knife/osc_user_show_spec.rb +1 -1
- data/spec/unit/knife/ssh_spec.rb +18 -0
- data/spec/unit/log/syslog_spec.rb +2 -4
- data/spec/unit/log/winevt_spec.rb +2 -3
- data/spec/unit/lwrp_spec.rb +4 -4
- data/spec/unit/mixin/homebrew_user_spec.rb +1 -5
- data/spec/unit/mixin/openssl_helper_spec.rb +252 -0
- data/spec/unit/mixin/powershell_exec_spec.rb +43 -0
- data/spec/unit/node/attribute_spec.rb +3 -3
- data/spec/unit/node/immutable_collections_spec.rb +11 -1
- data/spec/unit/node_map_spec.rb +2 -2
- data/spec/unit/node_spec.rb +11 -16
- data/spec/unit/platform/query_helpers_spec.rb +0 -13
- data/spec/unit/policy_builder/policyfile_spec.rb +79 -2
- data/spec/unit/property/validation_spec.rb +51 -4
- data/spec/unit/provider/apt_repository_spec.rb +97 -32
- data/spec/unit/provider/cookbook_file_spec.rb +2 -1
- data/spec/unit/provider/cron/unix_spec.rb +8 -3
- data/spec/unit/provider/cron_spec.rb +27 -32
- data/spec/unit/provider/file_spec.rb +2 -1
- data/spec/unit/provider/group/dscl_spec.rb +7 -8
- data/spec/unit/provider/group/gpasswd_spec.rb +5 -2
- data/spec/unit/provider/group/groupmod_spec.rb +6 -3
- data/spec/unit/provider/group/pw_spec.rb +5 -2
- data/spec/unit/provider/link_spec.rb +6 -4
- data/spec/unit/provider/log_spec.rb +18 -13
- data/spec/unit/provider/mount/aix_spec.rb +1 -9
- data/spec/unit/provider/mount/mount_spec.rb +22 -0
- data/spec/unit/provider/osx_profile_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +431 -411
- data/spec/unit/provider/package/{aix_spec.rb → bff_spec.rb} +7 -5
- data/spec/unit/provider/package/chocolatey_spec.rb +0 -13
- data/spec/unit/provider/package/homebrew_spec.rb +2 -1
- data/spec/unit/provider/package/portage_spec.rb +11 -147
- data/spec/unit/provider/package/powershell_spec.rb +208 -57
- data/spec/unit/provider/package/rubygems_spec.rb +11 -2
- data/spec/unit/provider/package/windows_spec.rb +0 -19
- data/spec/unit/provider/package/yum/python_helper_spec.rb +29 -0
- data/spec/unit/provider/package/yum/yum_cache_spec.rb +86 -4
- data/spec/unit/provider/package/zypper_spec.rb +8 -0
- data/spec/unit/provider/package_spec.rb +47 -20
- data/spec/unit/provider/registry_key_spec.rb +7 -1
- data/spec/unit/provider/remote_directory_spec.rb +1 -1
- data/spec/unit/provider/remote_file_spec.rb +2 -1
- data/spec/unit/provider/service/macosx_spec.rb +4 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +2 -10
- data/spec/unit/provider/service/windows_spec.rb +447 -30
- data/spec/unit/provider/systemd_unit_spec.rb +50 -13
- data/spec/unit/provider/template_spec.rb +2 -4
- data/spec/unit/provider/user/windows_spec.rb +3 -0
- data/spec/unit/provider/{env_spec.rb → windows_env_spec.rb} +102 -12
- data/spec/unit/provider/zypper_repository_spec.rb +4 -2
- data/spec/unit/provider_resolver_spec.rb +23 -38
- data/spec/unit/recipe_spec.rb +4 -4
- data/spec/unit/resource/apt_package_spec.rb +4 -0
- data/spec/unit/resource/apt_preference_spec.rb +0 -5
- data/spec/unit/resource/apt_repository_spec.rb +35 -10
- data/spec/unit/resource/apt_update_spec.rb +0 -5
- data/spec/unit/resource/bash_spec.rb +2 -3
- data/spec/unit/resource/batch_spec.rb +1 -4
- data/spec/unit/resource/{timestamped_deploy_spec.rb → build_essential_spec.rb} +10 -11
- data/spec/unit/resource/cab_package_spec.rb +1 -3
- data/{lib/chef/mixin/language_include_attribute.rb → spec/unit/resource/chef_handler_spec.rb} +13 -12
- data/spec/unit/resource/chocolatey_package_spec.rb +1 -3
- data/spec/unit/resource/cron_spec.rb +0 -5
- data/spec/unit/resource/csh_spec.rb +2 -3
- data/spec/unit/resource/directory_spec.rb +1 -6
- data/{lib/chef/resource/deploy_revision.rb → spec/unit/resource/dmg_package_spec.rb} +14 -10
- data/spec/unit/resource/dnf_package_spec.rb +20 -26
- data/spec/unit/resource/file_spec.rb +1 -1
- data/spec/unit/resource/freebsd_package_spec.rb +22 -23
- data/spec/unit/resource/gem_package_spec.rb +3 -5
- data/spec/unit/resource/git_spec.rb +1 -2
- data/spec/unit/resource/group_spec.rb +0 -5
- data/spec/unit/resource/homebrew_cask_spec.rb +35 -0
- data/spec/unit/resource/homebrew_package_spec.rb +4 -0
- data/spec/unit/resource/homebrew_tap_spec.rb +39 -0
- data/spec/unit/resource/hostname_spec.rb +43 -0
- data/spec/unit/resource/http_request_spec.rb +0 -5
- data/spec/unit/resource/ips_package_spec.rb +4 -0
- data/spec/unit/resource/ksh_spec.rb +2 -3
- data/spec/unit/resource/launchd_spec.rb +0 -5
- data/spec/unit/resource/link_spec.rb +1 -6
- data/spec/unit/resource/log_spec.rb +0 -5
- data/spec/unit/resource/macos_user_defaults_spec.rb +45 -0
- data/spec/unit/resource/mdadm_spec.rb +0 -5
- data/spec/unit/resource/mount_spec.rb +1 -6
- data/spec/unit/resource/msu_package_spec.rb +1 -3
- data/spec/unit/resource/ohai_hint_spec.rb +43 -0
- data/spec/unit/resource/ohai_spec.rb +0 -5
- data/spec/unit/resource/openbsd_package_spec.rb +8 -12
- data/spec/unit/resource/openssl_dhparam.rb +51 -0
- data/spec/unit/resource/openssl_rsa_private_key_spec.rb +59 -0
- data/spec/unit/resource/openssl_rsa_public_key_spec.rb +39 -0
- data/spec/unit/resource/osx_profile_spec.rb +0 -5
- data/spec/unit/resource/package_spec.rb +0 -5
- data/spec/unit/resource/perl_spec.rb +2 -3
- data/spec/unit/resource/portage_package_spec.rb +3 -7
- data/spec/unit/resource/powershell_package_spec.rb +11 -4
- data/spec/unit/resource/python_spec.rb +0 -5
- data/spec/unit/resource/reboot_spec.rb +0 -5
- data/spec/unit/resource/registry_key_spec.rb +5 -6
- data/spec/unit/resource/remote_directory_spec.rb +0 -5
- data/spec/unit/resource/remote_file_spec.rb +1 -5
- data/spec/unit/resource/rhsm_errata_level_spec.rb +46 -0
- data/{lib/chef/mixin/language_include_recipe.rb → spec/unit/resource/rhsm_errata_spec.rb} +14 -10
- data/spec/unit/resource/rhsm_register_spec.rb +199 -0
- data/spec/unit/resource/rhsm_repo_spec.rb +59 -0
- data/spec/unit/resource/rhsm_subscription_spec.rb +93 -0
- data/spec/unit/resource/route_spec.rb +1 -6
- data/spec/unit/resource/rpm_package_spec.rb +4 -0
- data/spec/unit/resource/ruby_block_spec.rb +0 -5
- data/spec/unit/resource/ruby_spec.rb +0 -5
- data/spec/unit/resource/scm_spec.rb +0 -15
- data/spec/unit/resource/service_spec.rb +0 -5
- data/spec/unit/resource/subversion_spec.rb +12 -0
- data/spec/unit/resource/sudo_spec.rb +92 -0
- data/spec/unit/resource/swap_file_spec.rb +40 -0
- data/spec/unit/resource/sysctl_spec.rb +56 -0
- data/spec/unit/resource/systemd_unit_spec.rb +5 -7
- data/spec/unit/resource/template_spec.rb +1 -3
- data/spec/unit/resource/user_spec.rb +0 -5
- data/spec/unit/resource/windows_ad_join.rb +45 -0
- data/spec/unit/resource/windows_auto_run_spec.rb +50 -0
- data/spec/unit/resource/{env_spec.rb → windows_env_spec.rb} +19 -21
- data/spec/unit/resource/windows_feature.rb +41 -0
- data/spec/unit/resource/windows_feature_dism.rb +51 -0
- data/spec/unit/resource/windows_feature_powershell.rb +51 -0
- data/spec/unit/resource/windows_font_spec.rb +44 -0
- data/spec/unit/resource/windows_package_spec.rb +2 -2
- data/spec/unit/resource/windows_pagefile_spec.rb +45 -0
- data/spec/unit/resource/windows_printer_port_spec.rb +45 -0
- data/spec/unit/resource/windows_printer_spec.rb +45 -0
- data/spec/unit/resource/windows_service_spec.rb +25 -4
- data/spec/unit/resource/windows_shortcut_spec.rb +39 -0
- data/spec/unit/resource/windows_task_spec.rb +0 -5
- data/spec/unit/resource/yum_repository_spec.rb +4 -0
- data/spec/unit/resource/zypper_repository_spec.rb +4 -0
- data/spec/unit/resource_inspector_spec.rb +60 -0
- data/spec/unit/resource_reporter_spec.rb +2 -2
- data/spec/unit/resource_spec.rb +0 -5
- data/spec/unit/shell/shell_session_spec.rb +0 -1
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/util/windows/logon_session_spec.rb +2 -1
- data/spec/unit/win32/security_spec.rb +44 -1
- data/spec/unit/windows_service_spec.rb +4 -2
- data/tasks/announce.rb +1 -1
- data/tasks/cbgb.rb +84 -0
- data/tasks/dependencies.rb +38 -2
- data/tasks/maintainers.rb +7 -7
- data/tasks/rspec.rb +2 -2
- data/tasks/templates/prerelease.md.erb +2 -11
- data/tasks/templates/release.md.erb +1 -9
- metadata +225 -96
- data/lib/chef/knife/help.rb +0 -101
- data/lib/chef/knife/help_topics.rb +0 -4
- data/lib/chef/knife/index_rebuild.rb +0 -133
- data/lib/chef/mixin/language.rb +0 -48
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +0 -35
- data/lib/chef/provider/deploy.rb +0 -470
- data/lib/chef/provider/deploy/revision.rb +0 -107
- data/lib/chef/provider/deploy/timestamped.rb +0 -34
- data/lib/chef/provider/env/windows.rb +0 -76
- data/lib/chef/provider/erl_call.rb +0 -76
- data/lib/chef/provider/package/yum/yum-dump.py +0 -307
- data/lib/chef/resource/deploy.rb +0 -449
- data/lib/chef/resource/erl_call.rb +0 -90
- data/lib/chef/resource/timestamped_deploy.rb +0 -26
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/repodata/313329137b55fd333b2dc66394a6661a2befa6cc535d8460d92a4a78a9c581f0-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/31ac4db5d5ac593728fcc26aef82b7b93c4cc4dbec843786b1845b939b658553-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/4ac40fa3c6728c1401318e2e20a997436624e83dcf7a5f952b851ef422637773-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/66391e53f0510b98b3f0b79f40ba1048026d9a1ef20905d9c40ba6f5411f3243-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/8b34697595fcc87928e12d24644dda9462c3857bd932861e28bc77ae1f31be16-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/b97cca3fe14bcf06c52be4449b6108f7731239ff221111dcce8aada5467f60dc-other.sqlite.bz2 +0 -0
- data/spec/functional/resource/deploy_revision_spec.rb +0 -881
- data/spec/functional/resource/env_spec.rb +0 -192
- data/spec/unit/knife/index_rebuild_spec.rb +0 -125
- data/spec/unit/knife/knife_help.rb +0 -92
- data/spec/unit/provider/deploy/revision_spec.rb +0 -110
- data/spec/unit/provider/deploy/timestamped_spec.rb +0 -40
- data/spec/unit/provider/deploy_spec.rb +0 -641
- data/spec/unit/provider/env/windows_spec.rb +0 -103
- data/spec/unit/provider/erl_call_spec.rb +0 -77
- data/spec/unit/provider/package/yum_spec.rb +0 -2294
- data/spec/unit/resource/deploy_revision_spec.rb +0 -42
- data/spec/unit/resource/deploy_spec.rb +0 -283
- data/spec/unit/resource/erl_call_spec.rb +0 -81
@@ -20,15 +20,15 @@ require "chef/resource/package"
|
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
23
|
-
# Use the chocolatey_package resource to manage packages using Chocolatey on the Microsoft Windows platform.
|
24
|
-
#
|
25
|
-
# @since 12.7
|
26
23
|
class ChocolateyPackage < Chef::Resource::Package
|
27
|
-
|
28
24
|
resource_name :chocolatey_package
|
29
|
-
provides :chocolatey_package
|
25
|
+
provides :chocolatey_package
|
26
|
+
|
27
|
+
description "Use the chocolatey_package resource to manage packages using Chocolatey"\
|
28
|
+
" on the Microsoft Windows platform."
|
29
|
+
introduced "12.7"
|
30
30
|
|
31
|
-
allowed_actions :install, :upgrade, :remove, :
|
31
|
+
allowed_actions :install, :upgrade, :remove, :purge, :reconfig
|
32
32
|
|
33
33
|
# windows can't take Array options yet
|
34
34
|
property :options, String
|
@@ -24,20 +24,23 @@ require "chef/mixin/securable"
|
|
24
24
|
|
25
25
|
class Chef
|
26
26
|
class Resource
|
27
|
-
# Use the cookbook_file resource to transfer files from a sub-directory of COOKBOOK_NAME/files/ to a specified path
|
28
|
-
# located on a host that is running the chef-client. The file is selected according to file specificity, which allows
|
29
|
-
# different source files to be used based on the hostname, host platform (operating system, distro, or as appropriate),
|
30
|
-
# or platform version. Files that are located in the COOKBOOK_NAME/files/default sub-directory may be used on any
|
31
|
-
# platform.
|
32
|
-
#
|
33
|
-
# During a chef-client run, the checksum for each local file is calculated and then compared against the checksum for
|
34
|
-
# the same file as it currently exists in the cookbook on the Chef server. A file is not transferred when the checksums
|
35
|
-
# match. Only files that require an update are transferred from the Chef server to a node.
|
36
27
|
class CookbookFile < Chef::Resource::File
|
37
28
|
include Chef::Mixin::Securable
|
38
29
|
|
39
30
|
resource_name :cookbook_file
|
40
31
|
|
32
|
+
description "Use the cookbook_file resource to transfer files from a sub-directory"\
|
33
|
+
" of COOKBOOK_NAME/files/ to a specified path located on a host that is"\
|
34
|
+
" running the chef-client. The file is selected according to file specificity,"\
|
35
|
+
" which allows different source files to be used based on the hostname, host"\
|
36
|
+
" platform (operating system, distro, or as appropriate), or platform version."\
|
37
|
+
" Files that are located in the COOKBOOK_NAME/files/default sub-directory may be"\
|
38
|
+
" used on any platform.\n\n"\
|
39
|
+
"During a chef-client run, the checksum for each local file is calculated and then"\
|
40
|
+
" compared against the checksum for the same file as it currently exists in the"\
|
41
|
+
" cookbook on the Chef server. A file is not transferred when the checksums match."\
|
42
|
+
" Only files that require an update are transferred from the Chef server to a node."
|
43
|
+
|
41
44
|
property :source, [ String, Array ], default: lazy { ::File.basename(name) }
|
42
45
|
property :cookbook, String
|
43
46
|
|
data/lib/chef/resource/cron.rb
CHANGED
@@ -18,14 +18,17 @@
|
|
18
18
|
#
|
19
19
|
|
20
20
|
require "chef/resource"
|
21
|
+
require "chef/provider/cron" # do not remove. we actually need this below
|
21
22
|
|
22
23
|
class Chef
|
23
24
|
class Resource
|
24
|
-
# Use the cron resource to manage cron entries for time-based job scheduling. Properties for a schedule will default
|
25
|
-
# to * if not provided. The cron resource requires access to a crontab program, typically cron.
|
26
25
|
class Cron < Chef::Resource
|
26
|
+
resource_name :cron
|
27
|
+
provides :cron
|
27
28
|
|
28
|
-
|
29
|
+
description "Use the cron resource to manage cron entries for time-based job scheduling."\
|
30
|
+
" Properties for a schedule will default to * if not provided. The cron resource"\
|
31
|
+
" requires access to a crontab program, typically cron."
|
29
32
|
|
30
33
|
state_attrs :minute, :hour, :day, :month, :weekday, :user
|
31
34
|
|
@@ -39,14 +42,6 @@ class Chef
|
|
39
42
|
@day = "*"
|
40
43
|
@month = "*"
|
41
44
|
@weekday = "*"
|
42
|
-
@command = nil
|
43
|
-
@user = "root"
|
44
|
-
@mailto = nil
|
45
|
-
@path = nil
|
46
|
-
@shell = nil
|
47
|
-
@home = nil
|
48
|
-
@time = nil
|
49
|
-
@environment = {}
|
50
45
|
end
|
51
46
|
|
52
47
|
def minute(arg = nil)
|
@@ -141,73 +136,17 @@ class Chef
|
|
141
136
|
)
|
142
137
|
end
|
143
138
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
def mailto(arg = nil)
|
153
|
-
set_or_return(
|
154
|
-
:mailto,
|
155
|
-
arg,
|
156
|
-
:kind_of => String
|
157
|
-
)
|
158
|
-
end
|
159
|
-
|
160
|
-
def path(arg = nil)
|
161
|
-
set_or_return(
|
162
|
-
:path,
|
163
|
-
arg,
|
164
|
-
:kind_of => String
|
165
|
-
)
|
166
|
-
end
|
167
|
-
|
168
|
-
def home(arg = nil)
|
169
|
-
set_or_return(
|
170
|
-
:home,
|
171
|
-
arg,
|
172
|
-
:kind_of => String
|
173
|
-
)
|
174
|
-
end
|
175
|
-
|
176
|
-
def shell(arg = nil)
|
177
|
-
set_or_return(
|
178
|
-
:shell,
|
179
|
-
arg,
|
180
|
-
:kind_of => String
|
181
|
-
)
|
182
|
-
end
|
183
|
-
|
184
|
-
def command(arg = nil)
|
185
|
-
set_or_return(
|
186
|
-
:command,
|
187
|
-
arg,
|
188
|
-
:kind_of => String
|
189
|
-
)
|
190
|
-
end
|
191
|
-
|
192
|
-
def user(arg = nil)
|
193
|
-
set_or_return(
|
194
|
-
:user,
|
195
|
-
arg,
|
196
|
-
:kind_of => String
|
197
|
-
)
|
198
|
-
end
|
199
|
-
|
200
|
-
def environment(arg = nil)
|
201
|
-
set_or_return(
|
202
|
-
:environment,
|
203
|
-
arg,
|
204
|
-
:kind_of => Hash
|
205
|
-
)
|
206
|
-
end
|
139
|
+
property :time, Symbol, equal_to: Chef::Provider::Cron::SPECIAL_TIME_VALUES
|
140
|
+
property :mailto, String
|
141
|
+
property :path, String
|
142
|
+
property :home, String
|
143
|
+
property :shell, String
|
144
|
+
property :command, String, identity: true
|
145
|
+
property :user, String, default: "root"
|
146
|
+
property :environment, Hash, default: lazy { Hash.new }
|
207
147
|
|
208
148
|
private
|
209
149
|
|
210
|
-
# On Ruby 1.8, Kernel#Integer will happily do this for you. On 1.9, no.
|
211
150
|
def integerize(integerish)
|
212
151
|
Integer(integerish)
|
213
152
|
rescue TypeError
|
data/lib/chef/resource/csh.rb
CHANGED
@@ -21,11 +21,13 @@ require "chef/provider/script"
|
|
21
21
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
24
|
-
# Use the csh resource to execute scripts using the csh interpreter. This resource may also use any of the actions
|
25
|
-
# and properties that are available to the execute resource. Commands that are executed with this resource are (by
|
26
|
-
# their nature) not idempotent, as they are typically unique to the environment in which they are run. Use not_if
|
27
|
-
# and only_if to guard this resource for idempotence.
|
28
24
|
class Csh < Chef::Resource::Script
|
25
|
+
description "Use the csh resource to execute scripts using the csh interpreter."\
|
26
|
+
" This resource may also use any of the actions and properties that are"\
|
27
|
+
" available to the execute resource. Commands that are executed with this"\
|
28
|
+
" resource are (by their nature) not idempotent, as they are typically"\
|
29
|
+
" unique to the environment in which they are run. Use not_if and only_if"\
|
30
|
+
" to guard this resource for idempotence."
|
29
31
|
|
30
32
|
def initialize(name, run_context = nil)
|
31
33
|
super
|
@@ -23,13 +23,16 @@ require "chef/mixin/securable"
|
|
23
23
|
|
24
24
|
class Chef
|
25
25
|
class Resource
|
26
|
-
# Use the directory resource to manage a directory, which is a hierarchy of folders that comprises all of the
|
27
|
-
# information stored on a computer. The root directory is the top-level, under which the rest of the directory
|
28
|
-
# is organized. The directory resource uses the name property to specify the path to a location in a directory.
|
29
|
-
# Typically, permission to access that location in the directory is required.
|
30
26
|
class Directory < Chef::Resource
|
31
27
|
resource_name :directory
|
32
28
|
|
29
|
+
description "Use the directory resource to manage a directory, which is a hierarchy"\
|
30
|
+
" of folders that comprises all of the information stored on a computer."\
|
31
|
+
" The root directory is the top-level, under which the rest of the directory"\
|
32
|
+
" is organized. The directory resource uses the name property to specify the"\
|
33
|
+
" path to a location in a directory. Typically, permission to access that"\
|
34
|
+
" location in the directory is required."
|
35
|
+
|
33
36
|
state_attrs :group, :mode, :owner
|
34
37
|
|
35
38
|
include Chef::Mixin::Securable
|
@@ -0,0 +1,161 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Joshua Timberman (<jtimberman@chef.io>)
|
3
|
+
# Copyright:: 2011-2018, Chef Software, Inc.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require "chef/resource"
|
19
|
+
|
20
|
+
class Chef
|
21
|
+
class Resource
|
22
|
+
class DmgPackage < Chef::Resource
|
23
|
+
resource_name :dmg_package
|
24
|
+
|
25
|
+
description "Use the dmg_package resource to install a dmg 'package'. The resource will retrieve the"\
|
26
|
+
" dmg file from a remote URL, mount it using OS X's hdidutil, copy the application (.app directory)"\
|
27
|
+
" to the specified destination (/Applications), and detach the image using hdiutil. The dmg file"\
|
28
|
+
" will be stored in the Chef::Config[:file_cache_path]."
|
29
|
+
introduced "14.0"
|
30
|
+
|
31
|
+
property :app, String,
|
32
|
+
description: "The name of the application used by default for the /Volumes directory and the .app directory copied to /Applications.",
|
33
|
+
name_property: true
|
34
|
+
|
35
|
+
property :source, String,
|
36
|
+
description: "The remote URL for the dmg to download if specified."
|
37
|
+
|
38
|
+
property :file, String,
|
39
|
+
description: "The local dmg full file path."
|
40
|
+
|
41
|
+
property :owner, String,
|
42
|
+
description: "The owner that should own the package installation."
|
43
|
+
|
44
|
+
property :destination, String,
|
45
|
+
description: "The directory to copy the .app into.",
|
46
|
+
default: "/Applications"
|
47
|
+
|
48
|
+
property :checksum, String,
|
49
|
+
description: "The sha256 checksum of the dmg to download"
|
50
|
+
|
51
|
+
property :volumes_dir, String,
|
52
|
+
description: "The Directory under /Volumes where the dmg is mounted as not all dmgs are mounted into a /Volumes location matching the name of the dmg."
|
53
|
+
|
54
|
+
property :dmg_name, String,
|
55
|
+
description: "The name of the dmg if it is not the same as app, or if the name has spaces."
|
56
|
+
|
57
|
+
property :type, String,
|
58
|
+
description: "The type of package.",
|
59
|
+
equal_to: %w{app pkg mpkg},
|
60
|
+
default: "app"
|
61
|
+
|
62
|
+
property :installed, [TrueClass, FalseClass],
|
63
|
+
default: false, desired_state: false
|
64
|
+
|
65
|
+
property :package_id, String,
|
66
|
+
description: "The package id registered with pkgutil when a pkg or mpkg is installed"
|
67
|
+
|
68
|
+
property :dmg_passphrase, String,
|
69
|
+
description: "Specify a passphrase to use to unencrypt the dmg while mounting."
|
70
|
+
|
71
|
+
property :accept_eula, [TrueClass, FalseClass],
|
72
|
+
description: "Specify whether to accept the EULA. Certain dmgs require acceptance of EULA before mounting.",
|
73
|
+
default: false
|
74
|
+
|
75
|
+
property :headers, [Hash, nil],
|
76
|
+
description: "Allows custom HTTP headers (like cookies) to be set on the remote_file resource.",
|
77
|
+
default: nil
|
78
|
+
|
79
|
+
property :allow_untrusted, [TrueClass, FalseClass],
|
80
|
+
description: "Allows packages with untrusted certs to be installed.",
|
81
|
+
default: false
|
82
|
+
|
83
|
+
load_current_value do |new_resource|
|
84
|
+
if ::File.directory?("#{new_resource.destination}/#{new_resource.app}.app")
|
85
|
+
Chef::Log.info "Already installed; to upgrade, remove \"#{new_resource.destination}/#{new_resource.app}.app\""
|
86
|
+
installed true
|
87
|
+
elsif shell_out("pkgutil --pkgs='#{new_resource.package_id}'").exitstatus == 0
|
88
|
+
Chef::Log.info "Already installed; to upgrade, try \"sudo pkgutil --forget '#{new_resource.package_id}'\""
|
89
|
+
installed true
|
90
|
+
else
|
91
|
+
installed false
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
action :install do
|
96
|
+
description "Installs the application."
|
97
|
+
|
98
|
+
unless current_resource.installed
|
99
|
+
|
100
|
+
volumes_dir = new_resource.volumes_dir ? new_resource.volumes_dir : new_resource.app
|
101
|
+
dmg_name = new_resource.dmg_name ? new_resource.dmg_name : new_resource.app
|
102
|
+
|
103
|
+
if new_resource.source
|
104
|
+
declare_resource(:remote_file, "#{dmg_file} - #{new_resource.name}") do
|
105
|
+
path dmg_file
|
106
|
+
source new_resource.source
|
107
|
+
headers new_resource.headers if new_resource.headers
|
108
|
+
checksum new_resource.checksum if new_resource.checksum
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
passphrase_cmd = new_resource.dmg_passphrase ? "-passphrase #{new_resource.dmg_passphrase}" : ""
|
113
|
+
ruby_block "attach #{dmg_file}" do
|
114
|
+
block do
|
115
|
+
cmd = shell_out("hdiutil imageinfo #{passphrase_cmd} '#{dmg_file}' | grep -q 'Software License Agreement: true'")
|
116
|
+
software_license_agreement = cmd.exitstatus == 0
|
117
|
+
raise "Requires EULA Acceptance; add 'accept_eula true' to package resource" if software_license_agreement && !new_resource.accept_eula
|
118
|
+
accept_eula_cmd = new_resource.accept_eula ? "echo Y | PAGER=true" : ""
|
119
|
+
shell_out!("#{accept_eula_cmd} hdiutil attach #{passphrase_cmd} '#{dmg_file}' -mountpoint '/Volumes/#{volumes_dir}' -quiet")
|
120
|
+
end
|
121
|
+
not_if "hdiutil info #{passphrase_cmd} | grep -q 'image-path.*#{dmg_file}'"
|
122
|
+
end
|
123
|
+
|
124
|
+
case new_resource.type
|
125
|
+
when "app"
|
126
|
+
declare_resource(:execute, "rsync --force --recursive --links --perms --executability --owner --group --times '/Volumes/#{volumes_dir}/#{new_resource.app}.app' '#{new_resource.destination}'") do
|
127
|
+
user new_resource.owner if new_resource.owner
|
128
|
+
end
|
129
|
+
|
130
|
+
declare_resource(:file, "#{new_resource.destination}/#{new_resource.app}.app/Contents/MacOS/#{new_resource.app}") do
|
131
|
+
mode "755"
|
132
|
+
ignore_failure true
|
133
|
+
end
|
134
|
+
when "mpkg", "pkg"
|
135
|
+
install_cmd = "installation_file=$(ls '/Volumes/#{volumes_dir}' | grep '.#{new_resource.type}$') && sudo installer -pkg \"/Volumes/#{volumes_dir}/$installation_file\" -target /"
|
136
|
+
install_cmd += " -allowUntrusted" if new_resource.allow_untrusted
|
137
|
+
|
138
|
+
declare_resource(:execute, install_cmd) do
|
139
|
+
# Prevent cfprefsd from holding up hdiutil detach for certain disk images
|
140
|
+
environment("__CFPREFERENCES_AVOID_DAEMON" => "1")
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
declare_resource(:execute, "hdiutil detach '/Volumes/#{volumes_dir}' || hdiutil detach '/Volumes/#{volumes_dir}' -force")
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
action_class do
|
149
|
+
def dmg_file
|
150
|
+
@dmg_file ||= begin
|
151
|
+
if new_resource.file.nil?
|
152
|
+
"#{Chef::Config[:file_cache_path]}/#{new_resource.dmg_name}.dmg"
|
153
|
+
else
|
154
|
+
new_resource.file
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
@@ -21,19 +21,12 @@ require "chef/mixin/shell_out"
|
|
21
21
|
|
22
22
|
class Chef
|
23
23
|
class Resource
|
24
|
-
# Use the dnf_package resource to install, upgrade, and remove packages with DNF for Fedora platforms. The dnf_package
|
25
|
-
# resource is able to resolve provides data for packages much like DNF can do when it is run from the command line.
|
26
|
-
# This allows a variety of options for installing packages, like minimum versions, virtual provides, and library names.
|
27
|
-
#
|
28
|
-
# @since 12.18
|
29
24
|
class DnfPackage < Chef::Resource::Package
|
30
25
|
extend Chef::Mixin::Which
|
31
26
|
extend Chef::Mixin::ShellOut
|
32
27
|
|
33
28
|
resource_name :dnf_package
|
34
29
|
|
35
|
-
allowed_actions :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock, :flush_cache
|
36
|
-
|
37
30
|
# all rhel variants >= 8 will use DNF
|
38
31
|
provides :package, platform_family: "rhel", platform_version: ">= 8"
|
39
32
|
|
@@ -47,6 +40,16 @@ class Chef
|
|
47
40
|
|
48
41
|
provides :dnf_package
|
49
42
|
|
43
|
+
description "Use the dnf_package resource to install, upgrade, and remove packages"\
|
44
|
+
" with DNF for Fedora platforms. The dnf_package resource is able to"\
|
45
|
+
" resolve provides data for packages much like DNF can do when it is"\
|
46
|
+
" run from the command line. This allows a variety of options for"\
|
47
|
+
" installing packages, like minimum versions, virtual provides,"\
|
48
|
+
" and library names."
|
49
|
+
introduced "12.18"
|
50
|
+
|
51
|
+
allowed_actions :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock, :flush_cache
|
52
|
+
|
50
53
|
# Install a specific arch
|
51
54
|
property :arch, [String, Array], coerce: proc { |x| [x].flatten }
|
52
55
|
|
@@ -20,11 +20,13 @@ require "chef/resource/package"
|
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
23
|
-
# Use the dpkg_package resource to manage packages for the dpkg platform. When a package is installed from a local
|
24
|
-
# file, it must be added to the node using the remote_file or cookbook_file resources.
|
25
23
|
class DpkgPackage < Chef::Resource::Package
|
26
24
|
resource_name :dpkg_package
|
27
|
-
provides :dpkg_package
|
25
|
+
provides :dpkg_package
|
26
|
+
|
27
|
+
description "Use the dpkg_package resource to manage packages for the dpkg platform."\
|
28
|
+
" When a package is installed from a local file, it must be added to the"\
|
29
|
+
" node using the remote_file or cookbook_file resources."
|
28
30
|
|
29
31
|
property :source, [ String, Array, nil ]
|
30
32
|
end
|
@@ -19,13 +19,15 @@ require "chef/dsl/powershell"
|
|
19
19
|
|
20
20
|
class Chef
|
21
21
|
class Resource
|
22
|
-
# The dsc_resource resource allows any DSC resource to be used in a Chef recipe, as well as any custom resources
|
23
|
-
# that have been added to your Windows PowerShell environment. Microsoft frequently adds new resources to the DSC
|
24
|
-
# resource collection.
|
25
|
-
#
|
26
|
-
# @since 12.2
|
27
22
|
class DscResource < Chef::Resource
|
28
|
-
|
23
|
+
resource_name :dsc_resource
|
24
|
+
provides :dsc_resource
|
25
|
+
|
26
|
+
description "The dsc_resource resource allows any DSC resource to be used in a"\
|
27
|
+
" Chef recipe, as well as any custom resources that have been added"\
|
28
|
+
" to your Windows PowerShell environment. Microsoft frequently adds"\
|
29
|
+
" new resources to the DSC resource collection."
|
30
|
+
introduced "12.2"
|
29
31
|
|
30
32
|
# This class will check if the object responds to
|
31
33
|
# to_text. If it does, it will call that as opposed
|
@@ -54,7 +56,6 @@ class Chef
|
|
54
56
|
super
|
55
57
|
@properties = ToTextHash.new
|
56
58
|
@resource = nil
|
57
|
-
@reboot_action = :nothing
|
58
59
|
end
|
59
60
|
|
60
61
|
def resource(value = nil)
|
@@ -73,13 +74,7 @@ class Chef
|
|
73
74
|
end
|
74
75
|
end
|
75
76
|
|
76
|
-
|
77
|
-
set_or_return(
|
78
|
-
:module_version,
|
79
|
-
arg,
|
80
|
-
:kind_of => [ String ]
|
81
|
-
)
|
82
|
-
end
|
77
|
+
property :module_version, String
|
83
78
|
|
84
79
|
def property(property_name, value = nil)
|
85
80
|
if not property_name.is_a?(Symbol)
|
@@ -104,21 +99,9 @@ class Chef
|
|
104
99
|
# If the set method of the DSC resource indicate that a reboot
|
105
100
|
# is necessary, reboot_action provides the mechanism for a reboot to
|
106
101
|
# be requested.
|
107
|
-
|
108
|
-
if value
|
109
|
-
@reboot_action = value
|
110
|
-
else
|
111
|
-
@reboot_action
|
112
|
-
end
|
113
|
-
end
|
102
|
+
property :reboot_action, Symbol, default: :nothing, equal_to: [:nothing, :reboot_now, :request_reboot]
|
114
103
|
|
115
|
-
|
116
|
-
set_or_return(
|
117
|
-
:timeout,
|
118
|
-
arg,
|
119
|
-
:kind_of => [ Integer ]
|
120
|
-
)
|
121
|
-
end
|
104
|
+
property :timeout, Integer
|
122
105
|
|
123
106
|
private
|
124
107
|
|