chef 17.10.95 → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +16 -8
- data/README.md +7 -7
- data/Rakefile +3 -22
- data/{chef-universal-mingw32.gemspec → chef-universal-mingw-ucrt.gemspec} +8 -7
- data/chef.gemspec +12 -5
- data/lib/chef/api_client_v1.rb +9 -1
- data/lib/chef/application/exit_code.rb +3 -3
- data/lib/chef/chef_fs/file_system.rb +21 -7
- data/lib/chef/client.rb +169 -17
- data/lib/chef/compliance/input.rb +1 -1
- data/lib/chef/compliance/profile.rb +1 -1
- data/lib/chef/compliance/profile_collection.rb +0 -1
- data/lib/chef/compliance/waiver.rb +1 -1
- data/lib/chef/cookbook/syntax_check.rb +2 -2
- data/lib/chef/dsl/reader_helpers.rb +1 -1
- data/lib/chef/dsl/rest_resource.rb +77 -0
- data/lib/chef/event_dispatch/base.rb +3 -0
- data/lib/chef/exceptions.rb +8 -0
- data/lib/chef/http/authenticator.rb +170 -3
- data/lib/chef/http/ssl_policies.rb +3 -3
- data/lib/chef/mixin/powershell_exec.rb +5 -28
- data/lib/chef/node/mixin/immutablize_array.rb +1 -0
- data/lib/chef/property.rb +13 -6
- data/lib/chef/provider/cron.rb +5 -1
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/http_request.rb +11 -9
- data/lib/chef/provider/launchd.rb +1 -0
- data/lib/chef/provider/mount/linux.rb +5 -0
- data/lib/chef/provider/mount/mount.rb +8 -0
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -18
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/snap.rb +1 -1
- data/lib/chef/provider/package/windows/msi.rb +2 -2
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/yum/yum_helper.py +5 -17
- data/lib/chef/provider/package/zypper/version.rb +60 -0
- data/lib/chef/provider/package/zypper.rb +47 -3
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/user/aix.rb +5 -0
- data/lib/chef/provider/user/linux.rb +29 -0
- data/lib/chef/provider/user/mac.rb +1 -1
- data/lib/chef/provider/user.rb +46 -14
- data/lib/chef/provider/yum_repository.rb +13 -1
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/recipe.rb +1 -1
- data/lib/chef/resource/_rest_resource.rb +389 -0
- data/lib/chef/resource/alternatives.rb +0 -1
- data/lib/chef/resource/apt_package.rb +2 -1
- data/lib/chef/resource/apt_preference.rb +0 -1
- data/lib/chef/resource/apt_repository.rb +0 -1
- data/lib/chef/resource/apt_update.rb +0 -1
- data/lib/chef/resource/archive_file.rb +0 -1
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +0 -1
- data/lib/chef/resource/bff_package.rb +0 -1
- data/lib/chef/resource/breakpoint.rb +0 -1
- data/lib/chef/resource/build_essential.rb +0 -1
- data/lib/chef/resource/cab_package.rb +0 -1
- data/lib/chef/resource/chef_client_config.rb +12 -14
- data/lib/chef/resource/chef_client_cron.rb +1 -2
- data/lib/chef/resource/chef_client_launchd.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +3 -3
- data/lib/chef/resource/chef_client_systemd_timer.rb +0 -1
- data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
- data/lib/chef/resource/chef_gem.rb +0 -1
- data/lib/chef/resource/chef_handler.rb +0 -1
- data/lib/chef/resource/chef_sleep.rb +1 -3
- data/lib/chef/resource/chef_vault_secret.rb +0 -1
- data/lib/chef/resource/chocolatey_config.rb +0 -1
- data/lib/chef/resource/chocolatey_feature.rb +0 -1
- data/lib/chef/resource/chocolatey_package.rb +0 -1
- data/lib/chef/resource/chocolatey_source.rb +0 -1
- data/lib/chef/resource/cookbook_file.rb +0 -1
- data/lib/chef/resource/cron/_cron_shared.rb +0 -1
- data/lib/chef/resource/cron/cron.rb +0 -1
- data/lib/chef/resource/cron/cron_d.rb +15 -1
- data/lib/chef/resource/cron_access.rb +0 -1
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/directory.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -1
- data/lib/chef/resource/dnf_package.rb +0 -1
- data/lib/chef/resource/dpkg_package.rb +0 -1
- data/lib/chef/resource/dsc_resource.rb +0 -1
- data/lib/chef/resource/dsc_script.rb +0 -1
- data/lib/chef/resource/execute.rb +0 -1
- data/lib/chef/resource/file.rb +0 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/group.rb +25 -2
- data/lib/chef/resource/habitat/habitat_package.rb +0 -1
- data/lib/chef/resource/habitat/habitat_sup.rb +6 -7
- data/lib/chef/resource/habitat/habitat_sup_windows.rb +1 -1
- data/lib/chef/resource/habitat_config.rb +0 -1
- data/lib/chef/resource/habitat_install.rb +0 -1
- data/lib/chef/resource/habitat_service.rb +0 -1
- data/lib/chef/resource/habitat_user_toml.rb +0 -1
- data/lib/chef/resource/homebrew_cask.rb +0 -1
- data/lib/chef/resource/homebrew_package.rb +2 -1
- data/lib/chef/resource/homebrew_tap.rb +0 -1
- data/lib/chef/resource/homebrew_update.rb +0 -2
- data/lib/chef/resource/hostname.rb +0 -1
- data/lib/chef/resource/http_request.rb +0 -1
- data/lib/chef/resource/ifconfig.rb +0 -1
- data/lib/chef/resource/inspec_input.rb +0 -1
- data/lib/chef/resource/inspec_waiver.rb +0 -1
- data/lib/chef/resource/inspec_waiver_file_entry.rb +2 -3
- data/lib/chef/resource/ips_package.rb +0 -1
- data/lib/chef/resource/kernel_module.rb +0 -1
- data/lib/chef/resource/ksh.rb +0 -1
- data/lib/chef/resource/launchd.rb +3 -1
- data/lib/chef/resource/link.rb +0 -1
- data/lib/chef/resource/locale.rb +2 -6
- data/lib/chef/resource/log.rb +0 -1
- data/lib/chef/resource/lwrp_base.rb +0 -4
- data/lib/chef/resource/macos_userdefaults.rb +8 -13
- data/lib/chef/resource/macosx_service.rb +0 -1
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/mdadm.rb +0 -1
- data/lib/chef/resource/mount.rb +0 -1
- data/lib/chef/resource/msu_package.rb +0 -1
- data/lib/chef/resource/notify_group.rb +0 -2
- data/lib/chef/resource/ohai.rb +0 -1
- data/lib/chef/resource/ohai_hint.rb +0 -1
- data/lib/chef/resource/openbsd_package.rb +2 -1
- data/lib/chef/resource/openssl_dhparam.rb +0 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +0 -2
- data/lib/chef/resource/openssl_ec_public_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_public_key.rb +0 -2
- data/lib/chef/resource/openssl_x509_certificate.rb +0 -2
- data/lib/chef/resource/openssl_x509_crl.rb +0 -2
- data/lib/chef/resource/openssl_x509_request.rb +0 -2
- data/lib/chef/resource/osx_profile.rb +0 -1
- data/lib/chef/resource/package.rb +0 -1
- data/lib/chef/resource/pacman_package.rb +2 -1
- data/lib/chef/resource/paludis_package.rb +0 -1
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +7 -3
- data/lib/chef/resource/portage_package.rb +2 -1
- data/lib/chef/resource/powershell_package.rb +0 -1
- data/lib/chef/resource/powershell_package_source.rb +0 -1
- data/lib/chef/resource/powershell_script.rb +0 -1
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/reboot.rb +0 -1
- data/lib/chef/resource/registry_key.rb +0 -1
- data/lib/chef/resource/remote_directory.rb +0 -1
- data/lib/chef/resource/remote_file.rb +0 -1
- data/lib/chef/resource/rhsm_errata.rb +0 -1
- data/lib/chef/resource/rhsm_errata_level.rb +0 -1
- data/lib/chef/resource/rhsm_register.rb +2 -4
- data/lib/chef/resource/rhsm_repo.rb +0 -1
- data/lib/chef/resource/rhsm_subscription.rb +0 -1
- data/lib/chef/resource/route.rb +0 -1
- data/lib/chef/resource/rpm_package.rb +2 -1
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/ruby_block.rb +0 -1
- data/lib/chef/resource/scm/_scm.rb +0 -2
- data/lib/chef/resource/scm/git.rb +0 -2
- data/lib/chef/resource/scm/subversion.rb +0 -2
- data/lib/chef/resource/script.rb +0 -1
- data/lib/chef/resource/selinux/common_helpers.rb +47 -0
- data/lib/chef/resource/selinux/selinux_debian.erb +18 -0
- data/lib/chef/resource/selinux/selinux_default.erb +15 -0
- data/lib/chef/resource/selinux_boolean.rb +101 -0
- data/lib/chef/resource/selinux_fcontext.rb +160 -0
- data/lib/chef/resource/selinux_install.rb +107 -0
- data/lib/chef/resource/selinux_module.rb +143 -0
- data/lib/chef/resource/selinux_permissive.rb +64 -0
- data/lib/chef/resource/selinux_port.rb +118 -0
- data/lib/chef/resource/selinux_state.rb +166 -0
- data/lib/chef/resource/service.rb +0 -1
- data/lib/chef/resource/smartos_package.rb +2 -1
- data/lib/chef/resource/snap_package.rb +2 -1
- data/lib/chef/resource/solaris_package.rb +2 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +0 -1
- data/lib/chef/resource/sudo.rb +0 -1
- data/lib/chef/resource/support/client.erb +2 -2
- data/lib/chef/resource/swap_file.rb +0 -1
- data/lib/chef/resource/sysctl.rb +1 -2
- data/lib/chef/resource/systemd_unit.rb +0 -1
- data/lib/chef/resource/template.rb +0 -1
- data/lib/chef/resource/timezone.rb +0 -1
- data/lib/chef/resource/user/aix_user.rb +0 -1
- data/lib/chef/resource/user/linux_user.rb +0 -1
- data/lib/chef/resource/user/mac_user.rb +0 -1
- data/lib/chef/resource/user/pw_user.rb +0 -1
- data/lib/chef/resource/user/solaris_user.rb +0 -1
- data/lib/chef/resource/user/windows_user.rb +0 -1
- data/lib/chef/resource/user.rb +10 -1
- data/lib/chef/resource/user_ulimit.rb +0 -1
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
- data/lib/chef/resource/windows_ad_join.rb +0 -2
- data/lib/chef/resource/windows_audit_policy.rb +0 -2
- data/lib/chef/resource/windows_auto_run.rb +0 -1
- data/lib/chef/resource/windows_defender.rb +0 -1
- data/lib/chef/resource/windows_defender_exclusion.rb +0 -1
- data/lib/chef/resource/windows_dfs_folder.rb +0 -1
- data/lib/chef/resource/windows_dfs_namespace.rb +0 -1
- data/lib/chef/resource/windows_dfs_server.rb +0 -1
- data/lib/chef/resource/windows_dns_record.rb +0 -1
- data/lib/chef/resource/windows_dns_zone.rb +0 -1
- data/lib/chef/resource/windows_env.rb +0 -1
- data/lib/chef/resource/windows_feature.rb +0 -1
- data/lib/chef/resource/windows_feature_dism.rb +0 -1
- data/lib/chef/resource/windows_feature_powershell.rb +0 -1
- data/lib/chef/resource/windows_firewall_profile.rb +0 -2
- data/lib/chef/resource/windows_firewall_rule.rb +0 -1
- data/lib/chef/resource/windows_font.rb +2 -3
- data/lib/chef/resource/windows_package.rb +3 -4
- data/lib/chef/resource/windows_pagefile.rb +0 -2
- data/lib/chef/resource/windows_path.rb +0 -1
- data/lib/chef/resource/windows_printer.rb +0 -1
- data/lib/chef/resource/windows_printer_port.rb +0 -1
- data/lib/chef/resource/windows_script.rb +0 -2
- data/lib/chef/resource/windows_security_policy.rb +0 -1
- data/lib/chef/resource/windows_service.rb +0 -1
- data/lib/chef/resource/windows_share.rb +0 -1
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +0 -1
- data/lib/chef/resource/windows_uac.rb +0 -1
- data/lib/chef/resource/windows_update_settings.rb +0 -1
- data/lib/chef/resource/windows_user_privilege.rb +0 -1
- data/lib/chef/resource/windows_workgroup.rb +0 -1
- data/lib/chef/resource/yum_package.rb +2 -1
- data/lib/chef/resource/yum_repository.rb +4 -1
- data/lib/chef/resource/zypper_package.rb +2 -1
- data/lib/chef/resource/zypper_repository.rb +0 -1
- data/lib/chef/resource.rb +12 -5
- data/lib/chef/resources.rb +7 -0
- data/lib/chef/run_context.rb +3 -3
- data/lib/chef/secret_fetcher/azure_key_vault.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/handle.rb +6 -7
- data/lib/chef/win32/registry.rb +7 -3
- data/spec/data/chef_guid +1 -0
- data/spec/data/nodes/mcwfhpowell.json +3 -0
- data/spec/data/rubygems.org/sexp_processor-info +2 -1
- data/spec/data/trusted_certs/example.crt +20 -29
- data/spec/data/trusted_certs/example_no_cn.crt +34 -30
- data/spec/data/trusted_certs/opscode.pem +54 -33
- data/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +55 -0
- data/spec/functional/resource/chocolatey_package_spec.rb +20 -32
- data/spec/functional/resource/dsc_script_spec.rb +1 -1
- data/spec/functional/resource/group_spec.rb +10 -6
- data/spec/functional/resource/link_spec.rb +8 -8
- data/spec/functional/resource/macos_userdefaults_spec.rb +4 -4
- data/spec/functional/resource/plist_spec.rb +25 -0
- data/spec/functional/resource/user/linux_user_spec.rb +127 -0
- data/spec/functional/resource/windows_certificate_spec.rb +1 -26
- data/spec/functional/resource/windows_font_spec.rb +12 -9
- data/spec/functional/resource/yum_package_spec.rb +17 -1
- data/spec/functional/resource/zypper_package_spec.rb +12 -0
- data/spec/functional/shell_spec.rb +1 -2
- data/spec/functional/version_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +82 -3
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/fips_spec.rb +20 -0
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +2 -1
- data/spec/integration/solo/solo_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/ruby_installer.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +2 -2
- data/spec/unit/application/client_spec.rb +0 -10
- data/spec/unit/chef_fs/file_system_spec.rb +2 -0
- data/spec/unit/client_spec.rb +57 -8
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +1 -1
- data/spec/unit/cookbook/syntax_check_spec.rb +3 -0
- data/spec/unit/http/authenticator_spec.rb +68 -0
- data/spec/unit/mixin/powershell_exec_spec.rb +5 -5
- data/spec/unit/platform/query_helpers_spec.rb +2 -17
- data/spec/unit/property/validation_spec.rb +30 -0
- data/spec/unit/provider/cron_spec.rb +36 -0
- data/spec/unit/provider/http_request_spec.rb +60 -72
- data/spec/unit/provider/mount/linux_spec.rb +10 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +3 -19
- data/spec/unit/provider/package/rubygems_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +32 -0
- data/spec/unit/provider/user/linux_spec.rb +51 -11
- data/spec/unit/provider/user_spec.rb +24 -6
- data/spec/unit/resource/archive_file_spec.rb +1 -1
- data/spec/unit/resource/chef_client_cron_spec.rb +5 -0
- data/spec/unit/resource/chef_client_launchd_spec.rb +5 -0
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +5 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
- data/spec/unit/resource/cron_d_spec.rb +37 -1
- data/spec/unit/resource/macos_user_defaults_spec.rb +4 -4
- data/spec/unit/resource/rest_resource_spec.rb +381 -0
- data/spec/unit/resource/selinux_boolean_spec.rb +92 -0
- data/spec/unit/resource/selinux_fcontext_spec.rb +65 -0
- data/spec/unit/resource/selinux_install_spec.rb +60 -0
- data/spec/unit/resource/selinux_module_spec.rb +55 -0
- data/spec/unit/resource/selinux_permissive_spec.rb +39 -0
- data/spec/unit/resource/selinux_port_spec.rb +42 -0
- data/spec/unit/resource/selinux_state_spec.rb +46 -0
- data/spec/unit/resource/sysctl_spec.rb +2 -2
- data/spec/unit/resource/user/linux_user_spec.rb +42 -0
- data/spec/unit/resource/yum_repository_spec.rb +4 -0
- data/spec/unit/resource_spec.rb +0 -1
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +1 -1
- data/tasks/rspec.rb +1 -1
- metadata +107 -31
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.0.nupkg → test-A.1.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.0.nupkg → test-A.1.5.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.0.nupkg → test-A.2.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.0.nupkg → test-B.1.0.nupkg} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{01a3b-filelists.sqlite.bz2 → 4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{6bf96-other.xml.gz → 74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{5dc1e-primary.sqlite.bz2 → a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{7c365-other.sqlite.bz2 → af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{401dc-filelists.xml.gz → bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{dabe2-primary.xml.gz → c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz} +0 -0
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
class Chef
|
|
18
18
|
class Resource
|
|
19
19
|
class ChocolateyFeature < Chef::Resource
|
|
20
|
-
unified_mode true
|
|
21
20
|
provides :chocolatey_feature
|
|
22
21
|
|
|
23
22
|
description "Use the **chocolatey_feature** resource to enable and disable Chocolatey features. Note: The Chocolatey package manager is not installed on Windows by default. You will need to install it prior to using this resource by adding the [Chocolatey cookbook](https://supermarket.chef.io/cookbooks/chocolatey/) to your node's run list."
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
class Chef
|
|
18
18
|
class Resource
|
|
19
19
|
class ChocolateySource < Chef::Resource
|
|
20
|
-
unified_mode true
|
|
21
20
|
provides :chocolatey_source
|
|
22
21
|
|
|
23
22
|
description "Use the **chocolatey_source** resource to add, remove, enable, or disable Chocolatey sources. Note: The Chocolatey package manager is not installed on Windows by default. You will need to install it prior to using this resource by adding the [Chocolatey cookbook](https://supermarket.chef.io/cookbooks/chocolatey/) to your node's run list."
|
|
@@ -23,7 +23,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
|
|
23
23
|
class Chef
|
|
24
24
|
class Resource
|
|
25
25
|
class CronD < Chef::Resource
|
|
26
|
-
unified_mode true
|
|
27
26
|
|
|
28
27
|
use "cron_shared"
|
|
29
28
|
|
|
@@ -146,6 +145,21 @@ class Chef
|
|
|
146
145
|
new_resource.cron_name.tr(".", "-")
|
|
147
146
|
end
|
|
148
147
|
|
|
148
|
+
def define_resource_requirements
|
|
149
|
+
requirements.assert(:create, :create_if_missing) do |a|
|
|
150
|
+
a.assertion do
|
|
151
|
+
# ensure valid cron job names for linux, otherwise the jobs won't be executed
|
|
152
|
+
if linux?
|
|
153
|
+
new_resource.cron_name =~ /^[a-zA-Z0-9_-]+$/
|
|
154
|
+
else
|
|
155
|
+
true
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
a.failure_message("The cron job name should contain letters, numbers, hyphens and underscores only.")
|
|
159
|
+
a.block_action!
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
149
163
|
def create_template(create_action)
|
|
150
164
|
# cleanup the legacy named job if it exists
|
|
151
165
|
file "#{new_resource.cron_name} legacy named cron.d file" do
|
data/lib/chef/resource/csh.rb
CHANGED
|
@@ -20,7 +20,6 @@ require_relative "../resource"
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class DmgPackage < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
|
|
25
24
|
provides(:dmg_package) { true }
|
|
26
25
|
|
|
@@ -58,6 +57,8 @@ class Chef
|
|
|
58
57
|
```
|
|
59
58
|
DOC
|
|
60
59
|
|
|
60
|
+
allowed_actions :install
|
|
61
|
+
|
|
61
62
|
property :app, String,
|
|
62
63
|
description: "The name of the application as it appears in the `/Volumes` directory if it differs from the resource block's name.",
|
|
63
64
|
name_property: true
|
data/lib/chef/resource/file.rb
CHANGED
|
@@ -25,12 +25,13 @@ require_relative "../provider/package/freebsd/pkgng"
|
|
|
25
25
|
class Chef
|
|
26
26
|
class Resource
|
|
27
27
|
class FreebsdPackage < Chef::Resource::Package
|
|
28
|
-
unified_mode true
|
|
29
28
|
provides :freebsd_package
|
|
30
29
|
provides :package, platform: "freebsd"
|
|
31
30
|
|
|
32
31
|
description "Use the **freebsd_package** resource to manage packages for the FreeBSD platform."
|
|
33
32
|
|
|
33
|
+
allowed_actions :install, :remove
|
|
34
|
+
|
|
34
35
|
# make sure we assign the appropriate underlying providers based on what
|
|
35
36
|
# package managers exist on this FreeBSD system or the source of the package
|
|
36
37
|
#
|
|
@@ -22,7 +22,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
|
|
22
22
|
class Chef
|
|
23
23
|
class Resource
|
|
24
24
|
class GemPackage < Chef::Resource::Package
|
|
25
|
-
unified_mode true
|
|
26
25
|
provides :gem_package
|
|
27
26
|
|
|
28
27
|
description <<~DESC
|
|
@@ -60,6 +59,8 @@ class Chef
|
|
|
60
59
|
```
|
|
61
60
|
EXAMPLES
|
|
62
61
|
|
|
62
|
+
allowed_actions :install, :upgrade, :remove, :purge
|
|
63
|
+
|
|
63
64
|
property :package_name, String,
|
|
64
65
|
description: "An optional property to set the package name if it differs from the resource block's name.",
|
|
65
66
|
identity: true
|
data/lib/chef/resource/group.rb
CHANGED
|
@@ -20,11 +20,34 @@
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class Group < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
state_attrs :members
|
|
25
24
|
|
|
26
25
|
description "Use the **group** resource to manage a local group."
|
|
27
26
|
|
|
27
|
+
examples <<~EXAMPLES
|
|
28
|
+
The following examples demonstrate various approaches for using the **group** resource in recipes:
|
|
29
|
+
|
|
30
|
+
Append users to groups:
|
|
31
|
+
|
|
32
|
+
```ruby
|
|
33
|
+
group 'www-data' do
|
|
34
|
+
action :modify
|
|
35
|
+
members 'maintenance'
|
|
36
|
+
append true
|
|
37
|
+
end
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Add a user to group on the Windows platform:
|
|
41
|
+
|
|
42
|
+
```ruby
|
|
43
|
+
group 'Administrators' do
|
|
44
|
+
members ['domain\\foo']
|
|
45
|
+
append true
|
|
46
|
+
action :modify
|
|
47
|
+
end
|
|
48
|
+
```
|
|
49
|
+
EXAMPLES
|
|
50
|
+
|
|
28
51
|
provides :group
|
|
29
52
|
|
|
30
53
|
allowed_actions :create, :remove, :modify, :manage
|
|
@@ -39,7 +62,7 @@ class Chef
|
|
|
39
62
|
|
|
40
63
|
property :members, [String, Array], default: [],
|
|
41
64
|
coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
|
|
42
|
-
description: "Which users should be set or appended to a group. When more than one group member is identified, the list of members should be an array: members ['user1', 'user2']
|
|
65
|
+
description: "Which users should be set or appended to a group. When more than one group member is identified, the list of members should be an array: `members ['user1', 'user2']`."
|
|
43
66
|
|
|
44
67
|
property :excluded_members, [String, Array], default: [],
|
|
45
68
|
coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
|
|
@@ -20,7 +20,6 @@ require_relative "../../resource"
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class HabitatSup < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
|
|
25
24
|
provides :habitat_sup do |_node|
|
|
26
25
|
false
|
|
@@ -49,7 +48,7 @@ class Chef
|
|
|
49
48
|
|
|
50
49
|
```ruby
|
|
51
50
|
habitat_sup 'default' do
|
|
52
|
-
bldr_url 'https://bldr.
|
|
51
|
+
bldr_url 'https://bldr.example.com'
|
|
53
52
|
end
|
|
54
53
|
```
|
|
55
54
|
|
|
@@ -57,13 +56,13 @@ class Chef
|
|
|
57
56
|
|
|
58
57
|
```ruby
|
|
59
58
|
habitat_sup 'default' do
|
|
60
|
-
bldr_url 'https://bldr.
|
|
59
|
+
bldr_url 'https://bldr.example.com'
|
|
61
60
|
habitat_channel 'dev'
|
|
62
61
|
update_condition 'track-channel'
|
|
63
62
|
end
|
|
64
63
|
```
|
|
65
64
|
|
|
66
|
-
**Provide
|
|
65
|
+
**Provide event stream information**
|
|
67
66
|
|
|
68
67
|
```ruby
|
|
69
68
|
habitat_sup 'default' do
|
|
@@ -71,7 +70,7 @@ class Chef
|
|
|
71
70
|
event_stream_application 'myapp'
|
|
72
71
|
event_stream_environment 'production'
|
|
73
72
|
event_stream_site 'MySite'
|
|
74
|
-
event_stream_url 'automate.
|
|
73
|
+
event_stream_url 'automate.example.com:4222'
|
|
75
74
|
event_stream_token 'myawesomea2clitoken='
|
|
76
75
|
event_stream_cert '/hab/cache/ssl/mycert.crt'
|
|
77
76
|
end
|
|
@@ -81,7 +80,7 @@ class Chef
|
|
|
81
80
|
|
|
82
81
|
```ruby
|
|
83
82
|
habitat_sup 'default' do
|
|
84
|
-
bldr_url 'https://bldr.
|
|
83
|
+
bldr_url 'https://bldr.example.com'
|
|
85
84
|
sup_version '1.5.50'
|
|
86
85
|
launcher_version '13458'
|
|
87
86
|
service_version '0.6.0' # WINDOWS ONLY
|
|
@@ -91,7 +90,7 @@ class Chef
|
|
|
91
90
|
**Set latest version of packages to retain**
|
|
92
91
|
|
|
93
92
|
habitat_sup 'default' do
|
|
94
|
-
bldr_url 'https://bldr.
|
|
93
|
+
bldr_url 'https://bldr.example.com'
|
|
95
94
|
sup_version '1.5.86'
|
|
96
95
|
launcher_version '13458'
|
|
97
96
|
service_version '0.6.0' # WINDOWS ONLY
|
|
@@ -20,7 +20,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class HabitatService < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
provides :habitat_service
|
|
25
24
|
|
|
26
25
|
description "Use the **habitat_service** resource to manage Chef Habitat services. This requires that `core/hab-sup` be running as a service. See the `habitat_sup` resource documentation for more information. Note: Applications may run as a specific user. Often with Habitat, the default is `hab`, or `root`. If the application requires another user, then it should be created with Chef's `user` resource."
|
|
@@ -16,7 +16,6 @@ require_relative "../resource"
|
|
|
16
16
|
class Chef
|
|
17
17
|
class Resource
|
|
18
18
|
class HabitatUserToml < Chef::Resource
|
|
19
|
-
unified_mode true
|
|
20
19
|
provides :habitat_user_toml
|
|
21
20
|
|
|
22
21
|
description "Use the **habitat_user_toml** to template a `user.toml` for Chef Habitat services. Configurations set in the `user.toml` override the `default.toml` for a given package, which makes it an alternative to applying service group level configuration."
|
|
@@ -24,7 +24,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
|
|
24
24
|
class Chef
|
|
25
25
|
class Resource
|
|
26
26
|
class HomebrewPackage < Chef::Resource::Package
|
|
27
|
-
unified_mode true
|
|
28
27
|
|
|
29
28
|
provides :homebrew_package
|
|
30
29
|
provides :package, os: "darwin"
|
|
@@ -61,6 +60,8 @@ class Chef
|
|
|
61
60
|
```
|
|
62
61
|
DOC
|
|
63
62
|
|
|
63
|
+
allowed_actions :install, :upgrade, :remove, :purge
|
|
64
|
+
|
|
64
65
|
property :homebrew_user, [ String, Integer ],
|
|
65
66
|
description: "The name or uid of the Homebrew owner to be used by #{ChefUtils::Dist::Infra::PRODUCT} when executing a command.\n\n#{ChefUtils::Dist::Infra::PRODUCT}, by default, will attempt to execute a Homebrew command as the owner of the `/usr/local/bin/brew` executable. If that executable does not exist, #{ChefUtils::Dist::Infra::PRODUCT} will attempt to find the user by executing `which brew`. If that executable cannot be found, #{ChefUtils::Dist::Infra::PRODUCT} will print an error message: `Could not find the 'brew' executable in /usr/local/bin or anywhere on the path.`.\n\nSet this property to specify the Homebrew owner for situations where Chef Infra Client cannot automatically detect the correct owner.'"
|
|
66
67
|
|
|
@@ -24,7 +24,6 @@ class Chef
|
|
|
24
24
|
class Resource
|
|
25
25
|
class InspecWaiverFileEntry < Chef::Resource
|
|
26
26
|
provides :inspec_waiver_file_entry
|
|
27
|
-
unified_mode true
|
|
28
27
|
|
|
29
28
|
description "Use the **inspec_waiver_file_entry** resource to add or remove entries from an InSpec waiver file. This can be used in conjunction with the Compliance Phase."
|
|
30
29
|
introduced "17.1"
|
|
@@ -137,11 +136,11 @@ class Chef
|
|
|
137
136
|
def load_waiver_file_to_hash(file_name)
|
|
138
137
|
if %r{(/|C:\\).*(.yaml|.yml)}i.match?(file_name)
|
|
139
138
|
if ::File.exist?(file_name)
|
|
140
|
-
hash = ::YAML.
|
|
139
|
+
hash = ::YAML.safe_load_file(file_name, permitted_classes: [Date])
|
|
141
140
|
if hash == false || hash.nil? || hash == ""
|
|
142
141
|
{}
|
|
143
142
|
else
|
|
144
|
-
::YAML.
|
|
143
|
+
::YAML.safe_load_file(file_name, permitted_classes: [Date])
|
|
145
144
|
end
|
|
146
145
|
else
|
|
147
146
|
{}
|
data/lib/chef/resource/ksh.rb
CHANGED
|
@@ -21,7 +21,6 @@ require_relative "../resource"
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class Launchd < Chef::Resource
|
|
24
|
-
unified_mode true
|
|
25
24
|
provides :launchd
|
|
26
25
|
|
|
27
26
|
description "Use the **launchd** resource to manage system-wide services (daemons) and per-user services (agents) on the macOS platform."
|
|
@@ -130,6 +129,9 @@ class Chef
|
|
|
130
129
|
property :abandon_process_group, [ TrueClass, FalseClass ],
|
|
131
130
|
description: "If a job dies, all remaining processes with the same process ID may be kept running. Set to true to kill all remaining processes."
|
|
132
131
|
|
|
132
|
+
property :associated_bundle_identifiers, Hash,
|
|
133
|
+
description: "This optional key indicates which bundles the Login Items Added by Apps panel associates with the helper executable."
|
|
134
|
+
|
|
133
135
|
property :debug, [ TrueClass, FalseClass ],
|
|
134
136
|
description: "Sets the log mask to `LOG_DEBUG` for this job."
|
|
135
137
|
|
data/lib/chef/resource/link.rb
CHANGED
data/lib/chef/resource/locale.rb
CHANGED
|
@@ -21,7 +21,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class Locale < Chef::Resource
|
|
24
|
-
unified_mode true
|
|
25
24
|
provides :locale
|
|
26
25
|
|
|
27
26
|
description "Use the **locale** resource to set the system's locale on Debian and Windows systems. Windows support was added in Chef Infra Client 16.0"
|
|
@@ -113,11 +112,8 @@ class Chef
|
|
|
113
112
|
end
|
|
114
113
|
|
|
115
114
|
requirements.assert(:all_actions) do |a|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
# Windows has locale-gen as part of the install, but not in the path
|
|
119
|
-
which("locale-gen") || windows?
|
|
120
|
-
end
|
|
115
|
+
# RHEL/CentOS type platforms don't have locale-gen
|
|
116
|
+
a.assertion { which("locale-gen") }
|
|
121
117
|
a.failure_message(Chef::Exceptions::ProviderNotFound, "The locale resource requires the locale-gen tool")
|
|
122
118
|
end
|
|
123
119
|
end
|
data/lib/chef/resource/log.rb
CHANGED
|
@@ -54,10 +54,6 @@ class Chef
|
|
|
54
54
|
resource_class.run_context = run_context
|
|
55
55
|
resource_class.class_from_file(filename)
|
|
56
56
|
|
|
57
|
-
if !resource_class.unified_mode && !deprecated_class(resource_class) && cookbook_name.to_s != "chef_client_updater"
|
|
58
|
-
Chef.deprecated :unified_mode, "The #{resource_class.resource_name} resource in the #{cookbook_name} cookbook should declare `unified_mode true`", filename
|
|
59
|
-
end
|
|
60
|
-
|
|
61
57
|
# Make a useful string for the class (rather than <Class:312894723894>)
|
|
62
58
|
resource_class.instance_eval do
|
|
63
59
|
define_singleton_method(:to_s) do
|