chef 16.18.30 → 17.0.242
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 +9 -22
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -2
- data/chef.gemspec +7 -10
- data/lib/chef/action_collection.rb +1 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application.rb +1 -1
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/chef_fs/command_line.rb +5 -2
- data/lib/chef/chef_fs/file_system.rb +9 -10
- data/lib/chef/client.rb +5 -5
- data/lib/chef/compliance/default_attributes.rb +4 -3
- data/lib/chef/compliance/fetcher/automate.rb +0 -7
- data/lib/chef/compliance/reporter/automate.rb +17 -7
- data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
- data/lib/chef/compliance/reporter/cli.rb +77 -0
- data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
- data/lib/chef/compliance/reporter/json_file.rb +8 -1
- data/lib/chef/compliance/runner.rb +65 -27
- data/lib/chef/cookbook/gem_installer.rb +1 -5
- data/lib/chef/cookbook/synchronizer.rb +3 -5
- data/lib/chef/cookbook_loader.rb +2 -4
- data/lib/chef/cookbook_uploader.rb +0 -1
- data/lib/chef/cookbook_version.rb +4 -26
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/data_collector/run_end_message.rb +2 -2
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +6 -12
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/dsl/reboot_pending.rb +1 -2
- data/lib/chef/exceptions.rb +0 -3
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/formatters/error_mapper.rb +2 -2
- data/lib/chef/group.rb +75 -0
- data/lib/chef/http.rb +5 -5
- data/lib/chef/mixin/checksum.rb +0 -6
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/mixin/powershell_exec.rb +26 -7
- data/lib/chef/node/attribute.rb +9 -24
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
- data/lib/chef/node.rb +19 -20
- data/lib/chef/org.rb +3 -2
- data/lib/chef/platform/query_helpers.rb +2 -2
- data/lib/chef/policy_builder/policyfile.rb +0 -5
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider/cron.rb +2 -6
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +3 -3
- data/lib/chef/provider/git.rb +5 -7
- data/lib/chef/provider/group/dscl.rb +1 -1
- data/lib/chef/provider/group/groupadd.rb +3 -3
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +3 -3
- data/lib/chef/provider/ifconfig.rb +2 -2
- data/lib/chef/provider/link.rb +2 -2
- data/lib/chef/provider/mount/aix.rb +3 -3
- data/lib/chef/provider/mount/mount.rb +5 -5
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/mount.rb +5 -5
- data/lib/chef/provider/package/apt.rb +27 -1
- data/lib/chef/provider/package/deb.rb +3 -3
- data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +0 -5
- data/lib/chef/provider/package/rubygems.rb +9 -15
- data/lib/chef/provider/package/windows.rb +3 -5
- data/lib/chef/provider/package/yum/yum_helper.py +11 -1
- data/lib/chef/provider/package.rb +17 -21
- data/lib/chef/provider/route.rb +2 -2
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/freebsd.rb +15 -21
- data/lib/chef/provider/service/macosx.rb +4 -4
- data/lib/chef/provider/service/systemd.rb +43 -14
- data/lib/chef/provider/service/upstart.rb +2 -13
- data/lib/chef/provider/service/windows.rb +12 -12
- data/lib/chef/provider/service.rb +6 -6
- data/lib/chef/provider/subversion.rb +10 -12
- data/lib/chef/provider/systemd_unit.rb +36 -10
- data/lib/chef/provider/template/content.rb +3 -7
- data/lib/chef/provider/user/dscl.rb +1 -1
- data/lib/chef/provider/user/mac.rb +17 -20
- data/lib/chef/provider/user/pw.rb +1 -1
- data/lib/chef/provider/user/windows.rb +1 -1
- data/lib/chef/provider/user.rb +2 -2
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/resource/alternatives.rb +6 -6
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +6 -6
- data/lib/chef/resource/apt_update.rb +3 -2
- data/lib/chef/resource/archive_file.rb +8 -9
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/build_essential.rb +2 -6
- data/lib/chef/resource/chef_client_config.rb +2 -2
- data/lib/chef/resource/chef_client_cron.rb +4 -4
- data/lib/chef/resource/chef_client_launchd.rb +3 -3
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
- data/lib/chef/resource/chef_handler.rb +3 -7
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chef_vault_secret.rb +3 -8
- data/lib/chef/resource/chocolatey_config.rb +2 -6
- data/lib/chef/resource/chocolatey_feature.rb +2 -6
- data/lib/chef/resource/chocolatey_source.rb +4 -10
- data/lib/chef/resource/cron/_cron_shared.rb +2 -2
- data/lib/chef/resource/cron_access.rb +2 -4
- data/lib/chef/resource/dmg_package.rb +6 -10
- data/lib/chef/resource/dpkg_package.rb +1 -1
- data/lib/chef/resource/execute.rb +6 -1
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/group.rb +2 -2
- data/lib/chef/resource/homebrew_cask.rb +5 -15
- data/lib/chef/resource/homebrew_tap.rb +2 -6
- data/lib/chef/resource/hostname.rb +21 -17
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/kernel_module.rb +6 -17
- data/lib/chef/resource/locale.rb +3 -4
- data/lib/chef/resource/lwrp_base.rb +4 -0
- data/lib/chef/resource/macos_userdefaults.rb +10 -14
- data/lib/chef/resource/mdadm.rb +53 -7
- data/lib/chef/resource/mount.rb +3 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
- data/lib/chef/resource/plist.rb +7 -7
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/resource/rhsm_errata.rb +16 -1
- data/lib/chef/resource/rhsm_errata_level.rb +10 -1
- data/lib/chef/resource/rhsm_register.rb +12 -23
- data/lib/chef/resource/rhsm_repo.rb +2 -6
- data/lib/chef/resource/rhsm_subscription.rb +7 -11
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/sudo.rb +6 -6
- data/lib/chef/resource/support/client.erb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +3 -3
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +1 -3
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -3
- data/lib/chef/resource/windows_ad_join.rb +2 -6
- data/lib/chef/resource/windows_audit_policy.rb +1 -1
- data/lib/chef/resource/windows_auto_run.rb +2 -5
- data/lib/chef/resource/windows_certificate.rb +207 -73
- data/lib/chef/resource/windows_dfs_folder.rb +2 -6
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
- data/lib/chef/resource/windows_dfs_server.rb +1 -3
- data/lib/chef/resource/windows_dns_record.rb +2 -6
- data/lib/chef/resource/windows_dns_zone.rb +2 -6
- data/lib/chef/resource/windows_env.rb +5 -4
- data/lib/chef/resource/windows_feature.rb +3 -9
- data/lib/chef/resource/windows_feature_dism.rb +2 -6
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +4 -4
- data/lib/chef/resource/windows_firewall_rule.rb +2 -5
- data/lib/chef/resource/windows_font.rb +2 -4
- data/lib/chef/resource/windows_pagefile.rb +2 -6
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +4 -4
- data/lib/chef/resource/windows_printer_port.rb +6 -6
- data/lib/chef/resource/windows_security_policy.rb +9 -12
- data/lib/chef/resource/windows_share.rb +14 -21
- data/lib/chef/resource/windows_shortcut.rb +4 -6
- data/lib/chef/resource/windows_task.rb +17 -5
- data/lib/chef/resource/windows_uac.rb +2 -4
- data/lib/chef/resource/windows_user_privilege.rb +26 -36
- data/lib/chef/resource/windows_workgroup.rb +1 -2
- data/lib/chef/resource.rb +1 -1
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/resources.rb +0 -1
- data/lib/chef/shell/ext.rb +3 -3
- data/lib/chef/user.rb +0 -1
- data/lib/chef/user_v1.rb +3 -4
- data/lib/chef/util/dsc/configuration_generator.rb +1 -0
- data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +2 -9
- data/lib/chef/win32/registry.rb +4 -2
- data/lib/chef/win32/version.rb +2 -4
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
- data/spec/data/lwrp/resources/bar.rb +2 -0
- data/spec/data/lwrp/resources/buck_passer.rb +1 -0
- data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
- data/spec/data/lwrp/resources/foo.rb +2 -0
- data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
- data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
- data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
- data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
- data/spec/data/lwrp_override/resources/foo.rb +1 -0
- data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
- data/spec/data/rubygems.org/sexp_processor-info +49 -0
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -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/dsl/registry_helper_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +7 -7
- data/spec/functional/resource/apt_package_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +9 -0
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/dsc_script_spec.rb +1 -1
- data/spec/functional/resource/group_spec.rb +1 -5
- data/spec/functional/resource/link_spec.rb +0 -8
- data/spec/functional/resource/registry_spec.rb +8 -8
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +92 -35
- data/spec/functional/resource/windows_font_spec.rb +1 -2
- data/spec/functional/resource/yum_package_spec.rb +0 -12
- data/spec/functional/shell_spec.rb +0 -5
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +5 -2
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/ohai/ohai_spec.rb +7 -6
- data/spec/integration/recipes/accumulator_spec.rb +13 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
- data/spec/integration/recipes/lwrp_spec.rb +3 -1
- data/spec/integration/recipes/notifies_spec.rb +15 -1
- data/spec/integration/recipes/notifying_block_spec.rb +2 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +4 -1
- data/spec/spec_helper.rb +10 -17
- data/spec/support/chef_helpers.rb +0 -16
- data/spec/support/lib/chef/resource/with_state.rb +0 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
- data/spec/support/lib/chef/resource/zen_master.rb +0 -1
- data/spec/support/matchers/leak.rb +7 -9
- data/spec/support/platform_helpers.rb +1 -12
- data/spec/support/shared/integration/integration_helper.rb +0 -1
- data/spec/support/shared/unit/script_resource.rb +2 -2
- data/spec/unit/application/solo_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +1 -1
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/client_spec.rb +4 -4
- data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
- data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
- data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
- data/spec/unit/compliance/runner_spec.rb +30 -4
- data/spec/unit/cookbook_version_spec.rb +0 -52
- data/spec/unit/daemon_spec.rb +5 -1
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/data_collector_spec.rb +2 -71
- data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
- data/spec/unit/dsl/registry_helper_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +1 -1
- data/spec/unit/mixin/checksum_spec.rb +0 -28
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
- data/spec/unit/mixin/powershell_out_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/node_spec.rb +78 -0
- data/spec/unit/org_group_spec.rb +45 -0
- data/spec/unit/platform/query_helpers_spec.rb +5 -5
- data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/cron_spec.rb +1 -35
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupmod_spec.rb +2 -2
- data/spec/unit/provider/group/pw_spec.rb +2 -2
- data/spec/unit/provider/group_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +84 -18
- data/spec/unit/provider/package/deb_spec.rb +3 -3
- data/spec/unit/provider/package/powershell_spec.rb +12 -74
- data/spec/unit/provider/package/rubygems_spec.rb +18 -30
- data/spec/unit/provider/service/arch_service_spec.rb +1 -0
- data/spec/unit/provider/service/debian_service_spec.rb +1 -0
- data/spec/unit/provider/service/macosx_spec.rb +2 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
- data/spec/unit/provider/service/windows_spec.rb +2 -2
- data/spec/unit/provider/subversion_spec.rb +2 -2
- data/spec/unit/provider/systemd_unit_spec.rb +79 -60
- data/spec/unit/provider/zypper_repository_spec.rb +2 -2
- data/spec/unit/provider_spec.rb +0 -8
- data/spec/unit/resource/archive_file_spec.rb +1 -13
- data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
- data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
- data/spec/unit/resource/mount_spec.rb +0 -10
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
- data/spec/unit/resource/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/user_ulimit_spec.rb +1 -14
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +2 -7
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
- data/tasks/rspec.rb +15 -7
- metadata +43 -388
- data/bin/knife +0 -24
- data/lib/chef/application/knife.rb +0 -234
- data/lib/chef/application/windows_service.rb +0 -338
- data/lib/chef/application/windows_service_manager.rb +0 -205
- data/lib/chef/chef_fs/knife.rb +0 -160
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
- data/lib/chef/chef_fs/parallelizer.rb +0 -102
- data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
- data/lib/chef/knife/acl_add.rb +0 -57
- data/lib/chef/knife/acl_base.rb +0 -183
- data/lib/chef/knife/acl_bulk_add.rb +0 -78
- data/lib/chef/knife/acl_bulk_remove.rb +0 -83
- data/lib/chef/knife/acl_remove.rb +0 -62
- data/lib/chef/knife/acl_show.rb +0 -56
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
- data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
- data/lib/chef/knife/bootstrap/templates/README.md +0 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
- data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
- data/lib/chef/knife/bootstrap.rb +0 -1192
- data/lib/chef/knife/client_bulk_delete.rb +0 -104
- data/lib/chef/knife/client_create.rb +0 -101
- data/lib/chef/knife/client_delete.rb +0 -62
- data/lib/chef/knife/client_edit.rb +0 -52
- data/lib/chef/knife/client_key_create.rb +0 -73
- data/lib/chef/knife/client_key_delete.rb +0 -80
- data/lib/chef/knife/client_key_edit.rb +0 -83
- data/lib/chef/knife/client_key_list.rb +0 -73
- data/lib/chef/knife/client_key_show.rb +0 -80
- data/lib/chef/knife/client_list.rb +0 -41
- data/lib/chef/knife/client_reregister.rb +0 -58
- data/lib/chef/knife/client_show.rb +0 -48
- data/lib/chef/knife/config_get.rb +0 -39
- data/lib/chef/knife/config_get_profile.rb +0 -37
- data/lib/chef/knife/config_list.rb +0 -139
- data/lib/chef/knife/config_list_profiles.rb +0 -37
- data/lib/chef/knife/config_show.rb +0 -127
- data/lib/chef/knife/config_use.rb +0 -61
- data/lib/chef/knife/config_use_profile.rb +0 -47
- data/lib/chef/knife/configure.rb +0 -150
- data/lib/chef/knife/configure_client.rb +0 -48
- data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
- data/lib/chef/knife/cookbook_delete.rb +0 -151
- data/lib/chef/knife/cookbook_download.rb +0 -142
- data/lib/chef/knife/cookbook_list.rb +0 -47
- data/lib/chef/knife/cookbook_metadata.rb +0 -106
- data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
- data/lib/chef/knife/cookbook_show.rb +0 -98
- data/lib/chef/knife/cookbook_upload.rb +0 -292
- data/lib/chef/knife/core/bootstrap_context.rb +0 -264
- data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
- data/lib/chef/knife/core/formatting_options.rb +0 -49
- data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
- data/lib/chef/knife/core/generic_presenter.rb +0 -232
- data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
- data/lib/chef/knife/core/node_editor.rb +0 -130
- data/lib/chef/knife/core/node_presenter.rb +0 -133
- data/lib/chef/knife/core/object_loader.rb +0 -115
- data/lib/chef/knife/core/status_presenter.rb +0 -147
- data/lib/chef/knife/core/subcommand_loader.rb +0 -203
- data/lib/chef/knife/core/text_formatter.rb +0 -85
- data/lib/chef/knife/core/ui.rb +0 -338
- data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
- data/lib/chef/knife/data_bag_create.rb +0 -81
- data/lib/chef/knife/data_bag_delete.rb +0 -49
- data/lib/chef/knife/data_bag_edit.rb +0 -74
- data/lib/chef/knife/data_bag_from_file.rb +0 -113
- data/lib/chef/knife/data_bag_list.rb +0 -42
- data/lib/chef/knife/data_bag_secret_options.rb +0 -122
- data/lib/chef/knife/data_bag_show.rb +0 -69
- data/lib/chef/knife/delete.rb +0 -125
- data/lib/chef/knife/deps.rb +0 -156
- data/lib/chef/knife/diff.rb +0 -83
- data/lib/chef/knife/download.rb +0 -84
- data/lib/chef/knife/edit.rb +0 -88
- data/lib/chef/knife/environment_compare.rb +0 -128
- data/lib/chef/knife/environment_create.rb +0 -52
- data/lib/chef/knife/environment_delete.rb +0 -44
- data/lib/chef/knife/environment_edit.rb +0 -44
- data/lib/chef/knife/environment_from_file.rb +0 -84
- data/lib/chef/knife/environment_list.rb +0 -41
- data/lib/chef/knife/environment_show.rb +0 -47
- data/lib/chef/knife/exec.rb +0 -99
- data/lib/chef/knife/group_add.rb +0 -55
- data/lib/chef/knife/group_create.rb +0 -49
- data/lib/chef/knife/group_destroy.rb +0 -53
- data/lib/chef/knife/group_list.rb +0 -43
- data/lib/chef/knife/group_remove.rb +0 -56
- data/lib/chef/knife/group_show.rb +0 -49
- data/lib/chef/knife/key_create.rb +0 -112
- data/lib/chef/knife/key_create_base.rb +0 -50
- data/lib/chef/knife/key_delete.rb +0 -55
- data/lib/chef/knife/key_edit.rb +0 -118
- data/lib/chef/knife/key_edit_base.rb +0 -55
- data/lib/chef/knife/key_list.rb +0 -90
- data/lib/chef/knife/key_list_base.rb +0 -45
- data/lib/chef/knife/key_show.rb +0 -53
- data/lib/chef/knife/list.rb +0 -177
- data/lib/chef/knife/node_bulk_delete.rb +0 -75
- data/lib/chef/knife/node_create.rb +0 -47
- data/lib/chef/knife/node_delete.rb +0 -46
- data/lib/chef/knife/node_edit.rb +0 -70
- data/lib/chef/knife/node_environment_set.rb +0 -53
- data/lib/chef/knife/node_from_file.rb +0 -51
- data/lib/chef/knife/node_list.rb +0 -44
- data/lib/chef/knife/node_policy_set.rb +0 -79
- data/lib/chef/knife/node_run_list_add.rb +0 -104
- data/lib/chef/knife/node_run_list_remove.rb +0 -67
- data/lib/chef/knife/node_run_list_set.rb +0 -66
- data/lib/chef/knife/node_show.rb +0 -63
- data/lib/chef/knife/null.rb +0 -12
- data/lib/chef/knife/raw.rb +0 -123
- data/lib/chef/knife/recipe_list.rb +0 -32
- data/lib/chef/knife/rehash.rb +0 -50
- data/lib/chef/knife/role_bulk_delete.rb +0 -66
- data/lib/chef/knife/role_create.rb +0 -53
- data/lib/chef/knife/role_delete.rb +0 -46
- data/lib/chef/knife/role_edit.rb +0 -45
- data/lib/chef/knife/role_env_run_list_add.rb +0 -87
- data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_env_run_list_set.rb +0 -70
- data/lib/chef/knife/role_from_file.rb +0 -51
- data/lib/chef/knife/role_list.rb +0 -42
- data/lib/chef/knife/role_run_list_add.rb +0 -87
- data/lib/chef/knife/role_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_run_list_remove.rb +0 -56
- data/lib/chef/knife/role_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_run_list_set.rb +0 -69
- data/lib/chef/knife/role_show.rb +0 -48
- data/lib/chef/knife/search.rb +0 -194
- data/lib/chef/knife/serve.rb +0 -65
- data/lib/chef/knife/show.rb +0 -72
- data/lib/chef/knife/ssh.rb +0 -645
- data/lib/chef/knife/ssl_check.rb +0 -284
- data/lib/chef/knife/ssl_fetch.rb +0 -161
- data/lib/chef/knife/status.rb +0 -95
- data/lib/chef/knife/supermarket_download.rb +0 -121
- data/lib/chef/knife/supermarket_install.rb +0 -192
- data/lib/chef/knife/supermarket_list.rb +0 -76
- data/lib/chef/knife/supermarket_search.rb +0 -53
- data/lib/chef/knife/supermarket_share.rb +0 -166
- data/lib/chef/knife/supermarket_show.rb +0 -66
- data/lib/chef/knife/supermarket_unshare.rb +0 -61
- data/lib/chef/knife/tag_create.rb +0 -52
- data/lib/chef/knife/tag_delete.rb +0 -60
- data/lib/chef/knife/tag_list.rb +0 -47
- data/lib/chef/knife/upload.rb +0 -86
- data/lib/chef/knife/user_create.rb +0 -107
- data/lib/chef/knife/user_delete.rb +0 -44
- data/lib/chef/knife/user_dissociate.rb +0 -42
- data/lib/chef/knife/user_edit.rb +0 -52
- data/lib/chef/knife/user_invite_add.rb +0 -43
- data/lib/chef/knife/user_invite_list.rb +0 -34
- data/lib/chef/knife/user_invite_rescind.rb +0 -63
- data/lib/chef/knife/user_key_create.rb +0 -73
- data/lib/chef/knife/user_key_delete.rb +0 -80
- data/lib/chef/knife/user_key_edit.rb +0 -83
- data/lib/chef/knife/user_key_list.rb +0 -73
- data/lib/chef/knife/user_key_show.rb +0 -80
- data/lib/chef/knife/user_list.rb +0 -42
- data/lib/chef/knife/user_reregister.rb +0 -59
- data/lib/chef/knife/user_show.rb +0 -48
- data/lib/chef/knife/xargs.rb +0 -282
- data/lib/chef/knife/yaml_convert.rb +0 -91
- data/lib/chef/knife.rb +0 -665
- data/lib/chef/resource/user/dscl_user.rb +0 -35
- data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
- data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
- data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
- data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
- data/spec/data/knife_subcommand/test_yourself.rb +0 -21
- data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
- data/spec/functional/knife/configure_spec.rb +0 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
- data/spec/functional/knife/exec_spec.rb +0 -55
- data/spec/functional/knife/rehash_spec.rb +0 -39
- data/spec/functional/knife/smoke_test.rb +0 -42
- data/spec/functional/knife/ssh_spec.rb +0 -352
- data/spec/functional/resource/user/dscl_spec.rb +0 -188
- data/spec/functional/resource/windows_service_spec.rb +0 -105
- data/spec/functional/win32/service_manager_spec.rb +0 -220
- data/spec/integration/client/fips_spec.rb +0 -21
- data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
- data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
- data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
- data/spec/integration/knife/chefignore_spec.rb +0 -301
- data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
- data/spec/integration/knife/client_create_spec.rb +0 -70
- data/spec/integration/knife/client_delete_spec.rb +0 -64
- data/spec/integration/knife/client_key_create_spec.rb +0 -66
- data/spec/integration/knife/client_key_delete_spec.rb +0 -43
- data/spec/integration/knife/client_key_list_spec.rb +0 -61
- data/spec/integration/knife/client_key_show_spec.rb +0 -45
- data/spec/integration/knife/client_list_spec.rb +0 -49
- data/spec/integration/knife/client_show_spec.rb +0 -37
- data/spec/integration/knife/common_options_spec.rb +0 -174
- data/spec/integration/knife/config_list_spec.rb +0 -220
- data/spec/integration/knife/config_show_spec.rb +0 -192
- data/spec/integration/knife/config_use_spec.rb +0 -198
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
- data/spec/integration/knife/cookbook_download_spec.rb +0 -72
- data/spec/integration/knife/cookbook_list_spec.rb +0 -55
- data/spec/integration/knife/cookbook_show_spec.rb +0 -149
- data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
- data/spec/integration/knife/data_bag_create_spec.rb +0 -125
- data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
- data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
- data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
- data/spec/integration/knife/data_bag_list_spec.rb +0 -44
- data/spec/integration/knife/data_bag_show_spec.rb +0 -95
- data/spec/integration/knife/delete_spec.rb +0 -1018
- data/spec/integration/knife/deps_spec.rb +0 -703
- data/spec/integration/knife/diff_spec.rb +0 -605
- data/spec/integration/knife/download_spec.rb +0 -1336
- data/spec/integration/knife/environment_compare_spec.rb +0 -75
- data/spec/integration/knife/environment_create_spec.rb +0 -41
- data/spec/integration/knife/environment_delete_spec.rb +0 -37
- data/spec/integration/knife/environment_from_file_spec.rb +0 -116
- data/spec/integration/knife/environment_list_spec.rb +0 -42
- data/spec/integration/knife/environment_show_spec.rb +0 -77
- data/spec/integration/knife/list_spec.rb +0 -1060
- data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/node_create_spec.rb +0 -47
- data/spec/integration/knife/node_delete_spec.rb +0 -48
- data/spec/integration/knife/node_environment_set_spec.rb +0 -46
- data/spec/integration/knife/node_from_file_spec.rb +0 -59
- data/spec/integration/knife/node_list_spec.rb +0 -45
- data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
- data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
- data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
- data/spec/integration/knife/node_show_spec.rb +0 -36
- data/spec/integration/knife/raw_spec.rb +0 -297
- data/spec/integration/knife/redirection_spec.rb +0 -64
- data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/role_create_spec.rb +0 -41
- data/spec/integration/knife/role_delete_spec.rb +0 -48
- data/spec/integration/knife/role_from_file_spec.rb +0 -96
- data/spec/integration/knife/role_list_spec.rb +0 -45
- data/spec/integration/knife/role_show_spec.rb +0 -51
- data/spec/integration/knife/search_node_spec.rb +0 -40
- data/spec/integration/knife/serve_spec.rb +0 -92
- data/spec/integration/knife/show_spec.rb +0 -197
- data/spec/integration/knife/upload_spec.rb +0 -1616
- data/spec/support/shared/functional/knife.rb +0 -37
- data/spec/support/shared/functional/win32_service.rb +0 -57
- data/spec/support/shared/integration/knife_support.rb +0 -192
- data/spec/support/shared/unit/knife_shared.rb +0 -39
- data/spec/unit/application/knife_spec.rb +0 -241
- data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
- data/spec/unit/knife/bootstrap_spec.rb +0 -2220
- data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
- data/spec/unit/knife/client_create_spec.rb +0 -169
- data/spec/unit/knife/client_delete_spec.rb +0 -99
- data/spec/unit/knife/client_edit_spec.rb +0 -53
- data/spec/unit/knife/client_list_spec.rb +0 -34
- data/spec/unit/knife/client_reregister_spec.rb +0 -62
- data/spec/unit/knife/client_show_spec.rb +0 -52
- data/spec/unit/knife/configure_client_spec.rb +0 -81
- data/spec/unit/knife/configure_spec.rb +0 -190
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
- data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
- data/spec/unit/knife/cookbook_download_spec.rb +0 -255
- data/spec/unit/knife/cookbook_list_spec.rb +0 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
- data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
- data/spec/unit/knife/cookbook_show_spec.rb +0 -253
- data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
- data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
- data/spec/unit/knife/core/node_editor_spec.rb +0 -211
- data/spec/unit/knife/core/object_loader_spec.rb +0 -81
- data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
- data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
- data/spec/unit/knife/core/ui_spec.rb +0 -656
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
- data/spec/unit/knife/data_bag_create_spec.rb +0 -175
- data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
- data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
- data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
- data/spec/unit/knife/data_bag_show_spec.rb +0 -139
- data/spec/unit/knife/environment_compare_spec.rb +0 -112
- data/spec/unit/knife/environment_create_spec.rb +0 -91
- data/spec/unit/knife/environment_delete_spec.rb +0 -71
- data/spec/unit/knife/environment_edit_spec.rb +0 -79
- data/spec/unit/knife/environment_from_file_spec.rb +0 -90
- data/spec/unit/knife/environment_list_spec.rb +0 -54
- data/spec/unit/knife/environment_show_spec.rb +0 -52
- data/spec/unit/knife/key_create_spec.rb +0 -223
- data/spec/unit/knife/key_delete_spec.rb +0 -133
- data/spec/unit/knife/key_edit_spec.rb +0 -264
- data/spec/unit/knife/key_helper.rb +0 -74
- data/spec/unit/knife/key_list_spec.rb +0 -216
- data/spec/unit/knife/key_show_spec.rb +0 -126
- data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
- data/spec/unit/knife/node_delete_spec.rb +0 -77
- data/spec/unit/knife/node_edit_spec.rb +0 -116
- data/spec/unit/knife/node_environment_set_spec.rb +0 -61
- data/spec/unit/knife/node_from_file_spec.rb +0 -59
- data/spec/unit/knife/node_list_spec.rb +0 -62
- data/spec/unit/knife/node_policy_set_spec.rb +0 -122
- data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
- data/spec/unit/knife/node_show_spec.rb +0 -65
- data/spec/unit/knife/raw_spec.rb +0 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
- data/spec/unit/knife/role_create_spec.rb +0 -80
- data/spec/unit/knife/role_delete_spec.rb +0 -67
- data/spec/unit/knife/role_edit_spec.rb +0 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
- data/spec/unit/knife/role_from_file_spec.rb +0 -69
- data/spec/unit/knife/role_list_spec.rb +0 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
- data/spec/unit/knife/role_show_spec.rb +0 -59
- data/spec/unit/knife/ssh_spec.rb +0 -403
- data/spec/unit/knife/ssl_check_spec.rb +0 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
- data/spec/unit/knife/status_spec.rb +0 -112
- data/spec/unit/knife/supermarket_download_spec.rb +0 -152
- data/spec/unit/knife/supermarket_install_spec.rb +0 -202
- data/spec/unit/knife/supermarket_list_spec.rb +0 -70
- data/spec/unit/knife/supermarket_search_spec.rb +0 -85
- data/spec/unit/knife/supermarket_share_spec.rb +0 -208
- data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
- data/spec/unit/knife/tag_create_spec.rb +0 -23
- data/spec/unit/knife/tag_delete_spec.rb +0 -25
- data/spec/unit/knife/tag_list_spec.rb +0 -23
- data/spec/unit/knife/user_create_spec.rb +0 -184
- data/spec/unit/knife/user_delete_spec.rb +0 -46
- data/spec/unit/knife/user_edit_spec.rb +0 -48
- data/spec/unit/knife/user_list_spec.rb +0 -36
- data/spec/unit/knife/user_reregister_spec.rb +0 -56
- data/spec/unit/knife/user_show_spec.rb +0 -46
- data/spec/unit/knife_spec.rb +0 -634
- data/spec/unit/provider/user/dscl_spec.rb +0 -699
- data/spec/unit/windows_service_spec.rb +0 -118
@@ -20,12 +20,6 @@
|
|
20
20
|
|
21
21
|
require_relative "../resource"
|
22
22
|
require "fileutils" unless defined?(FileUtils)
|
23
|
-
begin
|
24
|
-
# ffi-libarchive must be eager loaded see: https://github.com/chef/chef/issues/12228
|
25
|
-
require "ffi-libarchive" unless defined?(Archive::Reader)
|
26
|
-
rescue LoadError
|
27
|
-
STDERR.puts "ffi-libarchive could not be loaded, libarchive is probably not installed on system, archive_file will not be available"
|
28
|
-
end
|
29
23
|
|
30
24
|
class Chef
|
31
25
|
class Resource
|
@@ -73,7 +67,7 @@ class Chef
|
|
73
67
|
|
74
68
|
property :mode, [String, Integer],
|
75
69
|
description: "The mode of the extracted files. Integer values are deprecated as octal values (ex. 0755) would not be interpreted correctly.",
|
76
|
-
default: "755"
|
70
|
+
default: "755", default_description: "'755'"
|
77
71
|
|
78
72
|
property :destination, String,
|
79
73
|
description: "The file path to extract the archive file to.",
|
@@ -91,8 +85,9 @@ class Chef
|
|
91
85
|
alias_method :extract_options, :options
|
92
86
|
alias_method :extract_to, :destination
|
93
87
|
|
94
|
-
action :extract do
|
95
|
-
|
88
|
+
action :extract, description: "Extract and archive file." do
|
89
|
+
|
90
|
+
require_libarchive
|
96
91
|
|
97
92
|
unless ::File.exist?(new_resource.path)
|
98
93
|
raise Errno::ENOENT, "No archive found at #{new_resource.path}! Cannot continue."
|
@@ -131,6 +126,10 @@ class Chef
|
|
131
126
|
end
|
132
127
|
|
133
128
|
action_class do
|
129
|
+
def require_libarchive
|
130
|
+
require "ffi-libarchive"
|
131
|
+
end
|
132
|
+
|
134
133
|
def define_resource_requirements
|
135
134
|
if new_resource.mode.is_a?(Integer)
|
136
135
|
Chef.deprecated(:archive_file_integer_file_mode, "The mode property should be passed to archive_file resources as a String and not an Integer to ensure the value is properly interpreted.")
|
@@ -92,7 +92,7 @@ class Chef
|
|
92
92
|
super(caller.first, *args)
|
93
93
|
end
|
94
94
|
|
95
|
-
action :break do
|
95
|
+
action :break, description: "Add a breakpoint for use with #{ChefUtils::Dist::Infra::SHELL}" do
|
96
96
|
if defined?(Shell) && Shell.running?
|
97
97
|
with_run_context :parent do
|
98
98
|
run_context.resource_collection.iterator.pause
|
@@ -57,10 +57,7 @@ class Chef
|
|
57
57
|
introduced: "15.5",
|
58
58
|
default: false, desired_state: false # FIXME: make this default to true
|
59
59
|
|
60
|
-
action :install do
|
61
|
-
|
62
|
-
description "Install build essential packages"
|
63
|
-
|
60
|
+
action :install, description: "Install build essential packages" do
|
64
61
|
case
|
65
62
|
when debian?
|
66
63
|
package %w{ autoconf binutils-doc bison build-essential flex gettext ncurses-dev }
|
@@ -122,8 +119,7 @@ class Chef
|
|
122
119
|
end
|
123
120
|
end
|
124
121
|
|
125
|
-
action :upgrade do
|
126
|
-
description "Upgrade build essential (Xcode Command Line) tools on macOS"
|
122
|
+
action :upgrade, description: "Upgrade the Xcode CLI Tools on macOS hosts. **New in Chef Infra Client 16**" do
|
127
123
|
|
128
124
|
if macos?
|
129
125
|
pkg_label = xcode_cli_package_label
|
@@ -227,7 +227,7 @@ class Chef
|
|
227
227
|
property :additional_config, String,
|
228
228
|
description: "Additional text to add at the bottom of the client.rb config. This can be used to run custom Ruby or to add less common config options"
|
229
229
|
|
230
|
-
action :create do
|
230
|
+
action :create, description: "Create a client.rb config file" do
|
231
231
|
unless ::Dir.exist?(new_resource.config_directory)
|
232
232
|
directory new_resource.config_directory do
|
233
233
|
user new_resource.user unless new_resource.user.nil?
|
@@ -284,7 +284,7 @@ class Chef
|
|
284
284
|
end
|
285
285
|
end
|
286
286
|
|
287
|
-
action :remove do
|
287
|
+
action :remove, description: "Remove a client.rb config file" do
|
288
288
|
file ::File.join(new_resource.config_directory, "client.rb") do
|
289
289
|
action :delete
|
290
290
|
end
|
@@ -131,11 +131,11 @@ class Chef
|
|
131
131
|
description: "The path to the #{ChefUtils::Dist::Infra::CLIENT} binary."
|
132
132
|
|
133
133
|
property :daemon_options, Array,
|
134
|
-
default:
|
134
|
+
default: [],
|
135
135
|
description: "An array of options to pass to the #{ChefUtils::Dist::Infra::CLIENT} command."
|
136
136
|
|
137
137
|
property :environment, Hash,
|
138
|
-
default:
|
138
|
+
default: {},
|
139
139
|
description: "A Hash containing additional arbitrary environment variables under which the cron job will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`."
|
140
140
|
|
141
141
|
property :nice, [Integer, String],
|
@@ -144,7 +144,7 @@ class Chef
|
|
144
144
|
coerce: proc { |x| Integer(x) },
|
145
145
|
callbacks: { "should be an Integer between -20 and 19" => proc { |v| v >= -20 && v <= 19 } }
|
146
146
|
|
147
|
-
action :add do
|
147
|
+
action :add, description: "Add a cron job to run #{ChefUtils::Dist::Infra::PRODUCT}" do
|
148
148
|
# TODO: Replace this with a :create_if_missing action on directory when that exists
|
149
149
|
unless ::Dir.exist?(new_resource.log_directory)
|
150
150
|
directory new_resource.log_directory do
|
@@ -168,7 +168,7 @@ class Chef
|
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
|
-
action :remove do
|
171
|
+
action :remove, description: "Remove a cron job for #{ChefUtils::Dist::Infra::PRODUCT}" do
|
172
172
|
declare_resource(cron_resource_type, new_resource.job_name) do
|
173
173
|
action :delete
|
174
174
|
end
|
@@ -23,7 +23,7 @@ class Chef
|
|
23
23
|
|
24
24
|
provides :chef_client_launchd
|
25
25
|
|
26
|
-
description "Use the **chef_client_launchd** resource to configure the #{ChefUtils::Dist::Infra::PRODUCT} to run on a schedule."
|
26
|
+
description "Use the **chef_client_launchd** resource to configure the #{ChefUtils::Dist::Infra::PRODUCT} to run on a schedule on macOS systems."
|
27
27
|
introduced "16.5"
|
28
28
|
examples <<~DOC
|
29
29
|
**Set the #{ChefUtils::Dist::Infra::PRODUCT} to run on a schedule**:
|
@@ -86,11 +86,11 @@ class Chef
|
|
86
86
|
|
87
87
|
property :daemon_options, Array,
|
88
88
|
description: "An array of options to pass to the #{ChefUtils::Dist::Infra::CLIENT} command.",
|
89
|
-
default:
|
89
|
+
default: []
|
90
90
|
|
91
91
|
property :environment, Hash,
|
92
92
|
description: "A Hash containing additional arbitrary environment variables under which the launchd daemon will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`.",
|
93
|
-
default:
|
93
|
+
default: {}
|
94
94
|
|
95
95
|
property :nice, [Integer, String],
|
96
96
|
description: "The process priority to run the #{ChefUtils::Dist::Infra::CLIENT} process at. A value of -20 is the highest priority and 19 is the lowest priority.",
|
@@ -127,7 +127,7 @@ class Chef
|
|
127
127
|
|
128
128
|
property :daemon_options, Array,
|
129
129
|
description: "An array of options to pass to the #{ChefUtils::Dist::Infra::CLIENT} command.",
|
130
|
-
default:
|
130
|
+
default: []
|
131
131
|
|
132
132
|
action :add do
|
133
133
|
# TODO: Replace this with a :create_if_missing action on directory when that exists
|
@@ -92,11 +92,11 @@ class Chef
|
|
92
92
|
|
93
93
|
property :daemon_options, Array,
|
94
94
|
description: "An array of options to pass to the #{ChefUtils::Dist::Infra::CLIENT} command.",
|
95
|
-
default:
|
95
|
+
default: []
|
96
96
|
|
97
97
|
property :environment, Hash,
|
98
98
|
description: "A Hash containing additional arbitrary environment variables under which the systemd timer will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`.",
|
99
|
-
default:
|
99
|
+
default: {}
|
100
100
|
|
101
101
|
property :cpu_quota, [Integer, String],
|
102
102
|
description: "The systemd CPUQuota to run the #{ChefUtils::Dist::Infra::CLIENT} process with. This is a percentage value of the total CPU time available on the system. If the system has more than 1 core this may be a value greater than 100.",
|
@@ -182,7 +182,7 @@ class Chef
|
|
182
182
|
|
183
183
|
property :arguments, [Array, Hash],
|
184
184
|
description: "Arguments to pass the handler's class initializer.",
|
185
|
-
default:
|
185
|
+
default: []
|
186
186
|
|
187
187
|
property :type, Hash,
|
188
188
|
description: "The type of handler to register as, i.e. :report, :exception or both.",
|
@@ -194,9 +194,7 @@ class Chef
|
|
194
194
|
|
195
195
|
# This action needs to find an rb file that presumably contains the indicated class in it and the
|
196
196
|
# load that file. It then instantiates that class by name and registers it as a handler.
|
197
|
-
action :enable do
|
198
|
-
description "Enables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node"
|
199
|
-
|
197
|
+
action :enable, description: "Enables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node" do
|
200
198
|
class_name = new_resource.class_name
|
201
199
|
new_resource.type.each do |type, enable|
|
202
200
|
next unless enable
|
@@ -218,9 +216,7 @@ class Chef
|
|
218
216
|
end
|
219
217
|
end
|
220
218
|
|
221
|
-
action :disable do
|
222
|
-
description "Disables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node"
|
223
|
-
|
219
|
+
action :disable, description: "Disables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node" do
|
224
220
|
new_resource.type.each_key do |type|
|
225
221
|
unregister_handler(type, new_resource.class_name)
|
226
222
|
end
|
@@ -62,7 +62,7 @@ class Chef
|
|
62
62
|
coerce: proc { |s| Integer(s) },
|
63
63
|
name_property: true
|
64
64
|
|
65
|
-
action :sleep do
|
65
|
+
action :sleep, description: "Pause the #{ChefUtils::Dist::Infra::PRODUCT} run for a specified number of seconds" do
|
66
66
|
converge_by("sleep #{new_resource.seconds} seconds") do
|
67
67
|
sleep(new_resource.seconds)
|
68
68
|
end
|
@@ -88,8 +88,7 @@ class Chef
|
|
88
88
|
|
89
89
|
end
|
90
90
|
|
91
|
-
action :create do
|
92
|
-
description "Creates the item, or updates it if it already exists."
|
91
|
+
action :create, description: "Creates the item, or updates it if it already exists." do
|
93
92
|
|
94
93
|
converge_if_changed do
|
95
94
|
item = ChefVault::Item.new(new_resource.data_bag, new_resource.id)
|
@@ -111,15 +110,11 @@ class Chef
|
|
111
110
|
end
|
112
111
|
end
|
113
112
|
|
114
|
-
action :create_if_missing do
|
115
|
-
description "Calls the create action unless it exists."
|
116
|
-
|
113
|
+
action :create_if_missing, description: "Calls the create action unless it exists." do
|
117
114
|
action_create if current_resource.nil?
|
118
115
|
end
|
119
116
|
|
120
|
-
action :delete do
|
121
|
-
description "Deletes the item and the item's keys ('id'_keys)."
|
122
|
-
|
117
|
+
action :delete, description: "Deletes the item and the item's keys ('id'_keys)." do
|
123
118
|
chef_data_bag_item new_resource.id do
|
124
119
|
data_bag new_resource.data_bag
|
125
120
|
action :delete
|
@@ -68,9 +68,7 @@ class Chef
|
|
68
68
|
data ? data.attribute("value").to_s : nil # REXML just returns nil if it can't find anything so avoid an undefined method error
|
69
69
|
end
|
70
70
|
|
71
|
-
action :set do
|
72
|
-
description "Sets a Chocolatey config value."
|
73
|
-
|
71
|
+
action :set, description: "Sets a Chocolatey config value." do
|
74
72
|
raise "#{new_resource}: When adding a Chocolatey config you must pass the 'value' property!" unless new_resource.value
|
75
73
|
|
76
74
|
converge_if_changed do
|
@@ -78,9 +76,7 @@ class Chef
|
|
78
76
|
end
|
79
77
|
end
|
80
78
|
|
81
|
-
action :unset do
|
82
|
-
description "Unsets a Chocolatey config value."
|
83
|
-
|
79
|
+
action :unset, description: "Unsets a Chocolatey config value." do
|
84
80
|
if current_resource
|
85
81
|
converge_by("unset Chocolatey config '#{new_resource.config_key}'") do
|
86
82
|
shell_out!(choco_cmd("unset"))
|
@@ -65,9 +65,7 @@ class Chef
|
|
65
65
|
data ? data.attribute("enabled").to_s : nil # REXML just returns nil if it can't find anything so avoid an undefined method error
|
66
66
|
end
|
67
67
|
|
68
|
-
action :enable do
|
69
|
-
description "Enables a named Chocolatey feature."
|
70
|
-
|
68
|
+
action :enable, description: "Enables a named Chocolatey feature" do
|
71
69
|
if current_resource.feature_state != true
|
72
70
|
converge_by("enable Chocolatey feature '#{new_resource.feature_name}'") do
|
73
71
|
shell_out!(choco_cmd("enable"))
|
@@ -75,9 +73,7 @@ class Chef
|
|
75
73
|
end
|
76
74
|
end
|
77
75
|
|
78
|
-
action :disable do
|
79
|
-
description "Disables a named Chocolatey feature."
|
80
|
-
|
76
|
+
action :disable, description: "Disables a named Chocolatey feature" do
|
81
77
|
if current_resource.feature_state == true
|
82
78
|
converge_by("disable Chocolatey feature '#{new_resource.feature_name}'") do
|
83
79
|
shell_out!(choco_cmd("disable"))
|
@@ -89,8 +89,7 @@ class Chef
|
|
89
89
|
data ? data.attributes : nil # REXML just returns nil if it can't find anything so avoid an undefined method error
|
90
90
|
end
|
91
91
|
|
92
|
-
action :add do
|
93
|
-
description "Adds a Chocolatey source."
|
92
|
+
action :add, description: "Adds a Chocolatey source" do
|
94
93
|
|
95
94
|
raise "#{new_resource}: When adding a Chocolatey source you must pass the 'source' property!" unless new_resource.source
|
96
95
|
|
@@ -99,8 +98,7 @@ class Chef
|
|
99
98
|
end
|
100
99
|
end
|
101
100
|
|
102
|
-
action :remove do
|
103
|
-
description "Removes a Chocolatey source."
|
101
|
+
action :remove, description: "Removes a Chocolatey source" do
|
104
102
|
|
105
103
|
if current_resource
|
106
104
|
converge_by("remove Chocolatey source '#{new_resource.source_name}'") do
|
@@ -109,9 +107,7 @@ class Chef
|
|
109
107
|
end
|
110
108
|
end
|
111
109
|
|
112
|
-
action :disable do
|
113
|
-
description "Disables a Chocolatey source."
|
114
|
-
|
110
|
+
action :disable, description: "Disables a Chocolatey source. **New in Chef Infra Client 15.1.**" do
|
115
111
|
if current_resource.disabled != true
|
116
112
|
converge_by("disable Chocolatey source '#{new_resource.source_name}'") do
|
117
113
|
shell_out!(choco_cmd("disable"))
|
@@ -119,9 +115,7 @@ class Chef
|
|
119
115
|
end
|
120
116
|
end
|
121
117
|
|
122
|
-
action :enable do
|
123
|
-
description "Enables a Chocolatey source."
|
124
|
-
|
118
|
+
action :enable, description: "Enables a Chocolatey source. **New in Chef Infra Client 15.1.**" do
|
125
119
|
if current_resource.disabled == true
|
126
120
|
converge_by("enable Chocolatey source '#{new_resource.source_name}'") do
|
127
121
|
shell_out!(choco_cmd("enable"))
|
@@ -61,7 +61,7 @@ property :user, String,
|
|
61
61
|
|
62
62
|
property :environment, Hash,
|
63
63
|
description: "A Hash containing additional arbitrary environment variables under which the cron job will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`. **Note**: These variables must exist for a command to be run successfully.",
|
64
|
-
default:
|
64
|
+
default: {}
|
65
65
|
|
66
66
|
property :time_out, Hash,
|
67
67
|
description: "A Hash of timeouts in the form of `({'OPTION' => 'VALUE'})`. Accepted valid options are:
|
@@ -69,7 +69,7 @@ property :time_out, Hash,
|
|
69
69
|
- `foreground` (BOOL, default: 'false'),
|
70
70
|
- `kill-after` (in seconds),
|
71
71
|
- `signal` (a name like 'HUP' or a number)",
|
72
|
-
default:
|
72
|
+
default: {},
|
73
73
|
introduced: "15.7",
|
74
74
|
coerce: proc { |h|
|
75
75
|
if h.is_a?(Hash)
|
@@ -64,8 +64,7 @@ class Chef
|
|
64
64
|
"default" => "/etc",
|
65
65
|
}.freeze
|
66
66
|
|
67
|
-
action :allow do
|
68
|
-
description "Add the user to the cron.allow file."
|
67
|
+
action :allow, description: "Add the user to the cron.allow file" do
|
69
68
|
allow_path = ::File.join(value_for_platform_family(CRON_PATHS), "cron.allow")
|
70
69
|
|
71
70
|
with_run_context :root do
|
@@ -81,8 +80,7 @@ class Chef
|
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
84
|
-
action :deny do
|
85
|
-
description "Add the user to the cron.deny file."
|
83
|
+
action :deny, description: "Add the user to the cron.deny file." do
|
86
84
|
deny_path = ::File.join(value_for_platform_family(CRON_PATHS), "cron.deny")
|
87
85
|
|
88
86
|
with_run_context :root do
|
@@ -121,9 +121,7 @@ class Chef
|
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
|
-
action :install do
|
125
|
-
description "Installs the application."
|
126
|
-
|
124
|
+
action :install, description: "Installs the application" do
|
127
125
|
if current_resource.nil?
|
128
126
|
if new_resource.source
|
129
127
|
remote_file dmg_file do
|
@@ -171,13 +169,11 @@ class Chef
|
|
171
169
|
action_class do
|
172
170
|
# @return [String] the path to the dmg file
|
173
171
|
def dmg_file
|
174
|
-
@dmg_file ||=
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
end
|
180
|
-
end
|
172
|
+
@dmg_file ||= if new_resource.file.nil?
|
173
|
+
"#{Chef::Config[:file_cache_path]}/#{new_resource.dmg_name}.dmg"
|
174
|
+
else
|
175
|
+
new_resource.file
|
176
|
+
end
|
181
177
|
end
|
182
178
|
|
183
179
|
# @return [String] the hdiutil flag for handling DMGs with a password
|
@@ -572,6 +572,10 @@ class Chef
|
|
572
572
|
introduced: "16.2",
|
573
573
|
description: "An optional property to set the input sent to the command as STDIN."
|
574
574
|
|
575
|
+
property :login, [ TrueClass, FalseClass ], default: false,
|
576
|
+
introduced: "17.0",
|
577
|
+
description: "Use a login shell to run the commands instead of inheriting the existing execution environment."
|
578
|
+
|
575
579
|
alias :env :environment
|
576
580
|
|
577
581
|
def self.set_guard_inherited_attributes(*inherited_attributes)
|
@@ -666,7 +670,8 @@ class Chef
|
|
666
670
|
:group,
|
667
671
|
:password,
|
668
672
|
:user,
|
669
|
-
:umask
|
673
|
+
:umask,
|
674
|
+
:login
|
670
675
|
)
|
671
676
|
|
672
677
|
end
|
data/lib/chef/resource/file.rb
CHANGED
@@ -81,7 +81,7 @@ class Chef
|
|
81
81
|
property :manage_symlink_source, [ TrueClass, FalseClass ], desired_state: false,
|
82
82
|
description: "Change the behavior of the file resource if it is pointed at a symlink. When this value is set to true, #{ChefUtils::Dist::Infra::PRODUCT} will manage the symlink's permissions or will replace the symlink with a normal file if the resource has content. When this value is set to false, #{ChefUtils::Dist::Infra::PRODUCT} will follow the symlink and will manage the permissions and content of symlink's target file. The default behavior is true but emits a warning that the default value will be changed to false in a future version; setting this explicitly to true or false suppresses this warning."
|
83
83
|
|
84
|
-
property :verifications, Array, default: lazy { [] }
|
84
|
+
property :verifications, Array, default: lazy { [] }, desired_state: false, skip_docs: true
|
85
85
|
|
86
86
|
def verify(command = nil, opts = {}, &block)
|
87
87
|
unless command.nil? || [String, Symbol].include?(command.class)
|
data/lib/chef/resource/group.rb
CHANGED
@@ -37,11 +37,11 @@ class Chef
|
|
37
37
|
property :gid, [ String, Integer ],
|
38
38
|
description: "The identifier for the group."
|
39
39
|
|
40
|
-
property :members, [String, Array], default:
|
40
|
+
property :members, [String, Array], default: [],
|
41
41
|
coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
|
42
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']."
|
43
43
|
|
44
|
-
property :excluded_members, [String, Array], default:
|
44
|
+
property :excluded_members, [String, Array], default: [],
|
45
45
|
coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
|
46
46
|
description: "Remove users from a group. May only be used when append is set to true."
|
47
47
|
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
|
35
35
|
property :cask_name, String,
|
36
36
|
description: "An optional property to set the cask name if it differs from the resource block's name.",
|
37
|
-
regex: %r{^[\w
|
37
|
+
regex: %r{^[\w/-]+$},
|
38
38
|
validation_message: "The provided Homebrew cask name is not valid. Cask names can contain alphanumeric characters, _, -, or / only!",
|
39
39
|
name_property: true
|
40
40
|
|
@@ -53,13 +53,8 @@ class Chef
|
|
53
53
|
description: "The owner of the Homebrew installation.",
|
54
54
|
default: lazy { find_homebrew_username }
|
55
55
|
|
56
|
-
action :install do
|
57
|
-
if new_resource.install_cask
|
58
|
-
homebrew_tap "homebrew/cask" do
|
59
|
-
homebrew_path new_resource.homebrew_path
|
60
|
-
owner new_resource.owner
|
61
|
-
end
|
62
|
-
end
|
56
|
+
action :install, description: "Install an application packaged as a Homebrew cask" do
|
57
|
+
homebrew_tap "homebrew/cask" if new_resource.install_cask
|
63
58
|
|
64
59
|
unless casked?
|
65
60
|
converge_by("install cask #{new_resource.cask_name} #{new_resource.options}") do
|
@@ -71,13 +66,8 @@ class Chef
|
|
71
66
|
end
|
72
67
|
end
|
73
68
|
|
74
|
-
action :remove do
|
75
|
-
if new_resource.install_cask
|
76
|
-
homebrew_tap "homebrew/cask" do
|
77
|
-
homebrew_path new_resource.homebrew_path
|
78
|
-
owner new_resource.owner
|
79
|
-
end
|
80
|
-
end
|
69
|
+
action :remove, description: "Remove an application packaged as a Homebrew cask" do
|
70
|
+
homebrew_tap "homebrew/cask" if new_resource.install_cask
|
81
71
|
|
82
72
|
if casked?
|
83
73
|
converge_by("uninstall cask #{new_resource.cask_name}") do
|
@@ -53,9 +53,7 @@ class Chef
|
|
53
53
|
description: "The owner of the Homebrew installation.",
|
54
54
|
default: lazy { find_homebrew_username }
|
55
55
|
|
56
|
-
action :tap do
|
57
|
-
description "Add a Homebrew tap."
|
58
|
-
|
56
|
+
action :tap, description: "Add a Homebrew tap" do
|
59
57
|
unless tapped?(new_resource.tap_name)
|
60
58
|
converge_by("tap #{new_resource.tap_name}") do
|
61
59
|
shell_out!("#{new_resource.homebrew_path} tap #{new_resource.full ? "--full" : ""} #{new_resource.tap_name} #{new_resource.url || ""}",
|
@@ -66,9 +64,7 @@ class Chef
|
|
66
64
|
end
|
67
65
|
end
|
68
66
|
|
69
|
-
action :untap do
|
70
|
-
description "Remove a Homebrew tap."
|
71
|
-
|
67
|
+
action :untap, description: "Remove a Homebrew tap" do
|
72
68
|
if tapped?(new_resource.tap_name)
|
73
69
|
converge_by("untap #{new_resource.tap_name}") do
|
74
70
|
shell_out!("#{new_resource.homebrew_path} untap #{new_resource.tap_name}",
|