chef 16.18.0-universal-mingw32 → 17.0.242-universal-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +9 -13
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -1
- data/chef.gemspec +6 -8
- 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/get_source_from_package.rb +1 -1
- 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/policy_builder/policyfile.rb +0 -5
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider/cron.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +1 -1
- 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 +2 -4
- data/lib/chef/provider/package/yum/yum_helper.py +1 -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 +2 -3
- 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 -6
- 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 +5 -5
- 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 +1 -2
- 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/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/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/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 -13
- 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 -8
- 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/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/params_validate_spec.rb +4 -3
- 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/policy_builder/policyfile_spec.rb +1 -11
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/cron_spec.rb +1 -1
- 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/tasks/rspec.rb +15 -7
- metadata +19 -382
- 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/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/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
data/lib/chef/resource/mdadm.rb
CHANGED
@@ -31,6 +31,52 @@ class Chef
|
|
31
31
|
" reboot. If the config file is required, it must be done by specifying a template with the correct array layout,"\
|
32
32
|
" and then by using the mount provider to create a file systems table (fstab) entry."
|
33
33
|
|
34
|
+
examples <<~DOC
|
35
|
+
**Create and assemble a RAID 0 array**
|
36
|
+
|
37
|
+
The mdadm command can be used to create RAID arrays. For example, a RAID 0 array named /dev/md0 with 10 devices would have a command similar to the following:
|
38
|
+
|
39
|
+
```
|
40
|
+
mdadm --create /dev/md0 --level=0 --raid-devices=10 /dev/s01.../dev/s10
|
41
|
+
```
|
42
|
+
|
43
|
+
where /dev/s01 .. /dev/s10 represents 10 devices (01, 02, 03, and so on). This same command, when expressed as a recipe using the mdadm resource, would be similar to:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
mdadm '/dev/md0' do
|
47
|
+
devices [ '/dev/s01', ... '/dev/s10' ]
|
48
|
+
level 0
|
49
|
+
action :create
|
50
|
+
end
|
51
|
+
```
|
52
|
+
|
53
|
+
(again, where /dev/s01 .. /dev/s10 represents devices /dev/s01, /dev/s02, /dev/s03, and so on).
|
54
|
+
|
55
|
+
**Create and assemble a RAID 1 array**
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
mdadm '/dev/md0' do
|
59
|
+
devices [ '/dev/sda', '/dev/sdb' ]
|
60
|
+
level 1
|
61
|
+
action [ :create, :assemble ]
|
62
|
+
end
|
63
|
+
```
|
64
|
+
|
65
|
+
**Create and assemble a RAID 5 array**
|
66
|
+
|
67
|
+
The mdadm command can be used to create RAID arrays. For example, a RAID 5 array named /dev/sd0 with 4, and a superblock type of 0.90 would be similar to:
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
mdadm '/dev/sd0' do
|
71
|
+
devices [ '/dev/s1', '/dev/s2', '/dev/s3', '/dev/s4' ]
|
72
|
+
level 5
|
73
|
+
metadata '0.90'
|
74
|
+
chunk 32
|
75
|
+
action :create
|
76
|
+
end
|
77
|
+
```
|
78
|
+
DOC
|
79
|
+
|
34
80
|
default_action :create
|
35
81
|
allowed_actions :create, :assemble, :stop
|
36
82
|
|
@@ -39,7 +85,7 @@ class Chef
|
|
39
85
|
description: "The chunk size. This property should not be used for a RAID 1 mirrored pair (i.e. when the `level` property is set to `1`)."
|
40
86
|
|
41
87
|
property :devices, Array,
|
42
|
-
default:
|
88
|
+
default: [],
|
43
89
|
description: "The devices to be part of a RAID array."
|
44
90
|
|
45
91
|
# @todo this should get refactored away
|
@@ -78,7 +124,7 @@ class Chef
|
|
78
124
|
end
|
79
125
|
end
|
80
126
|
|
81
|
-
action :create do
|
127
|
+
action :create, description: "Create an array with per-device superblocks. If an array already exists (but does not match), update that array to match." do
|
82
128
|
unless current_resource.exists
|
83
129
|
converge_by("create RAID device #{new_resource.raid_device}") do
|
84
130
|
command = "yes | mdadm --create #{new_resource.raid_device} --level #{new_resource.level}"
|
@@ -92,11 +138,11 @@ class Chef
|
|
92
138
|
logger.info("#{new_resource} created raid device (#{new_resource.raid_device})")
|
93
139
|
end
|
94
140
|
else
|
95
|
-
logger.
|
141
|
+
logger.debug("#{new_resource} raid device already exists, skipping create (#{new_resource.raid_device})")
|
96
142
|
end
|
97
143
|
end
|
98
144
|
|
99
|
-
action :assemble do
|
145
|
+
action :assemble, description: "Assemble a previously created array into an active array." do
|
100
146
|
unless current_resource.exists
|
101
147
|
converge_by("assemble RAID device #{new_resource.raid_device}") do
|
102
148
|
command = "yes | mdadm --assemble #{new_resource.raid_device} #{new_resource.devices.join(" ")}"
|
@@ -105,11 +151,11 @@ class Chef
|
|
105
151
|
logger.info("#{new_resource} assembled raid device (#{new_resource.raid_device})")
|
106
152
|
end
|
107
153
|
else
|
108
|
-
logger.
|
154
|
+
logger.debug("#{new_resource} raid device already exists, skipping assemble (#{new_resource.raid_device})")
|
109
155
|
end
|
110
156
|
end
|
111
157
|
|
112
|
-
action :stop do
|
158
|
+
action :stop, description: "Stop an active array." do
|
113
159
|
if current_resource.exists
|
114
160
|
converge_by("stop RAID device #{new_resource.raid_device}") do
|
115
161
|
command = "yes | mdadm --stop #{new_resource.raid_device}"
|
@@ -118,7 +164,7 @@ class Chef
|
|
118
164
|
logger.info("#{new_resource} stopped raid device (#{new_resource.raid_device})")
|
119
165
|
end
|
120
166
|
else
|
121
|
-
logger.
|
167
|
+
logger.debug("#{new_resource} raid device doesn't exist (#{new_resource.raid_device}) - not stopping")
|
122
168
|
end
|
123
169
|
end
|
124
170
|
|
data/lib/chef/resource/mount.rb
CHANGED
@@ -34,6 +34,7 @@ class Chef
|
|
34
34
|
property :supports, [Array, Hash],
|
35
35
|
description: "Specify a Hash of supported mount features.",
|
36
36
|
default: lazy { { remount: false } },
|
37
|
+
default_description: "{ remount: false }",
|
37
38
|
coerce: proc { |x| x.is_a?(Array) ? x.each_with_object({}) { |i, m| m[i] = true } : x }
|
38
39
|
|
39
40
|
property :password, String,
|
@@ -41,11 +42,11 @@ class Chef
|
|
41
42
|
sensitive: true
|
42
43
|
|
43
44
|
property :mount_point, String, name_property: true,
|
44
|
-
coerce: proc { |arg|
|
45
|
+
coerce: proc { |arg| arg.chomp("/") }, # Removed "/" from the end of str, because it was causing idempotency issue.
|
45
46
|
description: "The directory (or path) in which the device is to be mounted. Defaults to the name of the resource block if not provided."
|
46
47
|
|
47
48
|
property :device, String, identity: true,
|
48
|
-
description: "Required for
|
49
|
+
description: "Required for `:umount` and `:remount` actions (for the purpose of checking the mount command output for presence). The special block device or remote node, a label, or a uuid to be mounted."
|
49
50
|
|
50
51
|
property :device_type, [String, Symbol],
|
51
52
|
description: "The type of device: :device, :label, or :uuid",
|
@@ -31,7 +31,7 @@ class Chef
|
|
31
31
|
description "Use the **openssl_ec_private_key** resource to generate an elliptic curve (EC) private key file. If a valid EC key file can be opened at the specified location, no new file will be created. If the EC key file cannot be opened, either because it does not exist or because the password to the EC key file does not match the password in the recipe, then it will be overwritten."
|
32
32
|
introduced "14.4"
|
33
33
|
examples <<~DOC
|
34
|
-
Generate a new ec privatekey with prime256v1 key curve and default des3 cipher
|
34
|
+
**Generate a new ec privatekey with prime256v1 key curve and default des3 cipher**
|
35
35
|
|
36
36
|
```ruby
|
37
37
|
openssl_ec_private_key '/etc/ssl_files/eckey_prime256v1_des3.pem' do
|
@@ -41,7 +41,7 @@ class Chef
|
|
41
41
|
end
|
42
42
|
```
|
43
43
|
|
44
|
-
Generate a new ec private key with prime256v1 key curve and aes-128-cbc cipher
|
44
|
+
**Generate a new ec private key with prime256v1 key curve and aes-128-cbc cipher**
|
45
45
|
|
46
46
|
```ruby
|
47
47
|
openssl_ec_private_key '/etc/ssl_files/eckey_prime256v1_des3.pem' do
|
@@ -43,7 +43,7 @@ class Chef
|
|
43
43
|
Generate new 1024bit key with the aes-128-cbc cipher
|
44
44
|
|
45
45
|
```ruby
|
46
|
-
|
46
|
+
openssl_rsa_private_key '/etc/ssl_files/rsakey_aes128cbc.pem' do
|
47
47
|
key_length 1024
|
48
48
|
key_cipher 'aes-128-cbc'
|
49
49
|
action :create
|
@@ -108,11 +108,11 @@ class Chef
|
|
108
108
|
|
109
109
|
property :extensions, Hash,
|
110
110
|
description: "Hash of X509 Extensions entries, in format `{ 'keyUsage' => { 'values' => %w( keyEncipherment digitalSignature), 'critical' => true } }`.",
|
111
|
-
default:
|
111
|
+
default: {}
|
112
112
|
|
113
113
|
property :subject_alt_name, Array,
|
114
114
|
description: "Array of Subject Alternative Name entries, in format `DNS:example.com` or `IP:1.2.3.4`.",
|
115
|
-
default:
|
115
|
+
default: []
|
116
116
|
|
117
117
|
property :key_file, String,
|
118
118
|
description: "The path to a certificate key file on the filesystem. If the key_file property is specified, the resource will attempt to source a key from this location. If no key file is found, the resource will generate a new key file at this location. If the key_file property is not specified, the resource will generate a key file in the same directory as the generated certificate, with the same name as the generated certificate."
|
data/lib/chef/resource/plist.rb
CHANGED
@@ -64,20 +64,20 @@ class Chef
|
|
64
64
|
"utf-8" => "xml1",
|
65
65
|
"binary" => "binary1" }.freeze
|
66
66
|
|
67
|
-
load_current_value do |
|
68
|
-
current_value_does_not_exist! unless ::File.exist?
|
69
|
-
entry
|
67
|
+
load_current_value do |new_resource|
|
68
|
+
current_value_does_not_exist! unless ::File.exist? new_resource.path
|
69
|
+
entry new_resource.entry if entry_in_plist? new_resource.entry, new_resource.path
|
70
70
|
|
71
|
-
setting = setting_from_plist
|
71
|
+
setting = setting_from_plist new_resource.entry, new_resource.path
|
72
72
|
value convert_to_data_type_from_string(setting[:key_type], setting[:key_value])
|
73
73
|
|
74
|
-
file_type_cmd = shell_out "/usr/bin/file", "--brief", "--mime-encoding", "--preserve-date",
|
74
|
+
file_type_cmd = shell_out "/usr/bin/file", "--brief", "--mime-encoding", "--preserve-date", new_resource.path
|
75
75
|
encoding file_type_cmd.stdout.chomp
|
76
76
|
|
77
|
-
file_owner_cmd = shell_out("/usr/bin/stat", "-f", "%Su",
|
77
|
+
file_owner_cmd = shell_out("/usr/bin/stat", "-f", "%Su", new_resource.path)
|
78
78
|
owner file_owner_cmd.stdout.chomp
|
79
79
|
|
80
|
-
file_group_cmd = shell_out("/usr/bin/stat", "-f", "%Sg",
|
80
|
+
file_group_cmd = shell_out("/usr/bin/stat", "-f", "%Sg", new_resource.path)
|
81
81
|
group file_group_cmd.stdout.chomp
|
82
82
|
end
|
83
83
|
|
@@ -27,7 +27,7 @@ class Chef
|
|
27
27
|
provides :powershell_script, os: "windows"
|
28
28
|
|
29
29
|
description <<~DESC
|
30
|
-
Use the **powershell_script** resource to execute a script using the Windows PowerShell interpreter, much like how the script and script-based resources **bash**, **csh**, **perl**, **python**, and **ruby** are used. The **powershell_script** resource is specific to the Microsoft Windows platform, but may use both the
|
30
|
+
Use the **powershell_script** resource to execute a script using the Windows PowerShell interpreter, much like how the script and script-based resources **bash**, **csh**, **perl**, **python**, and **ruby** are used. The **powershell_script** resource is specific to the Microsoft Windows platform, but may use both the Windows PowerShell interpreter or the PowerShell Core (pwsh) interpreter as of Chef Infra Client 16.6 and later.
|
31
31
|
|
32
32
|
The **powershell_script** resource creates and executes a temporary file rather than running the command inline. Commands that are executed with this resource are (by their nature) not idempotent, as they are typically unique to the environment in which they are run. Use `not_if` and `only_if` conditionals to guard this resource for idempotence.
|
33
33
|
DESC
|
@@ -95,7 +95,7 @@ class Chef
|
|
95
95
|
property :ftp_active_mode, [ TrueClass, FalseClass ], default: false,
|
96
96
|
description: "Whether #{ChefUtils::Dist::Infra::PRODUCT} uses active or passive FTP. Set to `true` to use active FTP."
|
97
97
|
|
98
|
-
property :headers, Hash, default:
|
98
|
+
property :headers, Hash, default: {},
|
99
99
|
description: "A Hash of custom HTTP headers."
|
100
100
|
|
101
101
|
property :show_progress, [ TrueClass, FalseClass ], default: false
|
@@ -25,12 +25,27 @@ class Chef
|
|
25
25
|
|
26
26
|
description "Use the **rhsm_errata** resource to install packages associated with a given Red Hat Subscription Manager Errata ID. This is helpful if packages to mitigate a single vulnerability must be installed on your hosts."
|
27
27
|
introduced "14.0"
|
28
|
+
examples <<~DOC
|
29
|
+
**Install a package from an Errata ID**
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
rhsm_errata 'RHSA:2018-1234'
|
33
|
+
```
|
34
|
+
|
35
|
+
**Specify an Errata ID that differs from the resource name**
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
rhsm_errata 'errata-install'
|
39
|
+
errata_id 'RHSA:2018-1234'
|
40
|
+
end
|
41
|
+
```
|
42
|
+
DOC
|
28
43
|
|
29
44
|
property :errata_id, String,
|
30
45
|
description: "An optional property for specifying the errata ID if it differs from the resource block's name.",
|
31
46
|
name_property: true
|
32
47
|
|
33
|
-
action :install do
|
48
|
+
action :install, description: "Install a package for a specific errata ID." do
|
34
49
|
description "Installs a package for a specific errata ID."
|
35
50
|
|
36
51
|
execute "Install errata packages for #{new_resource.errata_id}" do
|
@@ -25,6 +25,15 @@ class Chef
|
|
25
25
|
|
26
26
|
description "Use the **rhsm_errata_level** resource to install all packages of a specified errata level from the Red Hat Subscription Manager. For example, you can ensure that all packages associated with errata marked at a 'Critical' security level are installed."
|
27
27
|
introduced "14.0"
|
28
|
+
examples <<~DOC
|
29
|
+
**Specify an errata level that differs from the resource name**
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
rhsm_errata_level 'example_install_moderate' do
|
33
|
+
errata_level 'moderate'
|
34
|
+
end
|
35
|
+
```
|
36
|
+
DOC
|
28
37
|
|
29
38
|
property :errata_level, String,
|
30
39
|
coerce: proc { |x| x.downcase },
|
@@ -32,7 +41,7 @@ class Chef
|
|
32
41
|
description: "An optional property for specifying the errata level of packages to install if it differs from the resource block's name.",
|
33
42
|
name_property: true
|
34
43
|
|
35
|
-
action :install do
|
44
|
+
action :install, description: "Install all packages of the specified errata level." do
|
36
45
|
description "Install all packages of the specified errata level."
|
37
46
|
|
38
47
|
if rhel6?
|
@@ -27,6 +27,16 @@ class Chef
|
|
27
27
|
|
28
28
|
description "Use the **rhsm_register** resource to register a node with the Red Hat Subscription Manager or a local Red Hat Satellite server."
|
29
29
|
introduced "14.0"
|
30
|
+
examples <<~DOC
|
31
|
+
**Register a node with RHSM*
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
rhsm_register 'my-host' do
|
35
|
+
activation_key 'ABCD1234'
|
36
|
+
organization 'my_org'
|
37
|
+
end
|
38
|
+
```
|
39
|
+
DOC
|
30
40
|
|
31
41
|
property :activation_key, [String, Array],
|
32
42
|
coerce: proc { |x| Array(x) },
|
@@ -69,9 +79,7 @@ class Chef
|
|
69
79
|
default: false, desired_state: false,
|
70
80
|
introduced: "15.9"
|
71
81
|
|
72
|
-
action :register do
|
73
|
-
description "Register the node with RHSM."
|
74
|
-
|
82
|
+
action :register, description: "Register the node with RHSM." do
|
75
83
|
package "subscription-manager"
|
76
84
|
|
77
85
|
unless new_resource.satellite_host.nil? || registered_with_rhsm?
|
@@ -106,9 +114,7 @@ class Chef
|
|
106
114
|
end
|
107
115
|
end
|
108
116
|
|
109
|
-
action :unregister do
|
110
|
-
description "Unregister the node from RHSM."
|
111
|
-
|
117
|
+
action :unregister, description: "Unregister the node from RHSM." do
|
112
118
|
execute "Unregister from RHSM" do
|
113
119
|
command "subscription-manager unregister"
|
114
120
|
default_env true
|
@@ -31,9 +31,7 @@ class Chef
|
|
31
31
|
description: "An optional property for specifying the repository name if it differs from the resource block's name.",
|
32
32
|
name_property: true
|
33
33
|
|
34
|
-
action :enable do
|
35
|
-
description "Enable a RHSM repository."
|
36
|
-
|
34
|
+
action :enable, description: "Enable a RHSM repository." do
|
37
35
|
execute "Enable repository #{new_resource.repo_name}" do
|
38
36
|
command "subscription-manager repos --enable=#{new_resource.repo_name}"
|
39
37
|
default_env true
|
@@ -42,9 +40,7 @@ class Chef
|
|
42
40
|
end
|
43
41
|
end
|
44
42
|
|
45
|
-
action :disable do
|
46
|
-
description "Disable a RHSM repository."
|
47
|
-
|
43
|
+
action :disable, description: "Disable a RHSM repository." do
|
48
44
|
execute "Enable repository #{new_resource.repo_name}" do
|
49
45
|
command "subscription-manager repos --disable=#{new_resource.repo_name}"
|
50
46
|
default_env true
|
@@ -31,20 +31,16 @@ class Chef
|
|
31
31
|
description: "An optional property for specifying the Pool ID if it differs from the resource block's name.",
|
32
32
|
name_property: true
|
33
33
|
|
34
|
-
action :attach do
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
build_resource(:package, "rhsm_subscription-#{new_resource.pool_id}-flush_cache").run_action(:flush_cache)
|
41
|
-
end
|
34
|
+
action :attach, description: "Attach the node to a subscription pool." do
|
35
|
+
execute "Attach subscription pool #{new_resource.pool_id}" do
|
36
|
+
command "subscription-manager attach --pool=#{new_resource.pool_id}"
|
37
|
+
default_env true
|
38
|
+
action :run
|
39
|
+
not_if { subscription_attached?(new_resource.pool_id) }
|
42
40
|
end
|
43
41
|
end
|
44
42
|
|
45
|
-
action :remove do
|
46
|
-
description "Remove the node from a subscription pool."
|
47
|
-
|
43
|
+
action :remove, description: "Remove the node from a subscription pool." do
|
48
44
|
execute "Remove subscription pool #{new_resource.pool_id}" do
|
49
45
|
command "subscription-manager remove --serial=#{pool_serial(new_resource.pool_id)}"
|
50
46
|
default_env true
|
@@ -112,7 +112,7 @@ class Chef
|
|
112
112
|
|
113
113
|
property :additional_remotes, Hash,
|
114
114
|
description: "A Hash of additional remotes that are added to the git repository configuration.",
|
115
|
-
default:
|
115
|
+
default: {}
|
116
116
|
|
117
117
|
property :depth, Integer,
|
118
118
|
description: "The number of past revisions to be included in the git shallow clone. Unless specified the default behavior will do a full clone."
|
data/lib/chef/resource/sudo.rb
CHANGED
@@ -71,12 +71,12 @@ class Chef
|
|
71
71
|
|
72
72
|
property :users, [String, Array],
|
73
73
|
description: "User(s) to provide sudo privileges to. This property accepts either an array or a comma separated list.",
|
74
|
-
default:
|
74
|
+
default: [],
|
75
75
|
coerce: proc { |x| x.is_a?(Array) ? x : x.split(/\s*,\s*/) }
|
76
76
|
|
77
77
|
property :groups, [String, Array],
|
78
78
|
description: "Group(s) to provide sudo privileges to. This property accepts either an array or a comma separated list. Leading % on group names is optional.",
|
79
|
-
default:
|
79
|
+
default: [],
|
80
80
|
coerce: proc { |x| coerce_groups(x) }
|
81
81
|
|
82
82
|
property :commands, Array,
|
@@ -108,11 +108,11 @@ class Chef
|
|
108
108
|
|
109
109
|
property :defaults, Array,
|
110
110
|
description: "An array of defaults for the user/group.",
|
111
|
-
default:
|
111
|
+
default: []
|
112
112
|
|
113
113
|
property :command_aliases, Array,
|
114
114
|
description: "Command aliases that can be used as allowed commands later in the configuration.",
|
115
|
-
default:
|
115
|
+
default: []
|
116
116
|
|
117
117
|
property :setenv, [TrueClass, FalseClass],
|
118
118
|
description: "Determines whether or not to permit preservation of the environment with `sudo -E`.",
|
@@ -120,11 +120,11 @@ class Chef
|
|
120
120
|
|
121
121
|
property :env_keep_add, Array,
|
122
122
|
description: "An array of strings to add to `env_keep`.",
|
123
|
-
default:
|
123
|
+
default: []
|
124
124
|
|
125
125
|
property :env_keep_subtract, Array,
|
126
126
|
description: "An array of strings to remove from `env_keep`.",
|
127
|
-
default:
|
127
|
+
default: []
|
128
128
|
|
129
129
|
property :visudo_path, String,
|
130
130
|
deprecated: true
|
@@ -13,6 +13,8 @@
|
|
13
13
|
@minimal_ohai
|
14
14
|
@named_run_list
|
15
15
|
@no_proxy
|
16
|
+
@ohai_disabled_plugins
|
17
|
+
@ohai_optional_plugins
|
16
18
|
@pid_file
|
17
19
|
@policy_group
|
18
20
|
@policy_name
|
@@ -20,12 +22,6 @@
|
|
20
22
|
<% next if instance_variable_get(prop).nil? || instance_variable_get(prop).empty? -%>
|
21
23
|
<%=prop.delete_prefix("@") %> <%= instance_variable_get(prop).inspect %>
|
22
24
|
<% end -%>
|
23
|
-
<%# ohai_disabled_plugins and ohai_optional_plugins properties don't match the config value perfectly-%>
|
24
|
-
<% %w(@ohai_disabled_plugins
|
25
|
-
@ohai_optional_plugins).each do |prop| -%>
|
26
|
-
<% next if instance_variable_get(prop).nil? || instance_variable_get(prop).empty? -%>
|
27
|
-
<%=prop.gsub("@ohai_", "ohai.") %> <%= instance_variable_get(prop).inspect %>
|
28
|
-
<% end -%>
|
29
25
|
<%# log_location is special due to STDOUT/STDERR from String -> IO Object -%>
|
30
26
|
<% unless @log_location.nil? %>
|
31
27
|
<% if @log_location.is_a?(String) && %w(STDOUT STDERR).include?(@log_location) -%>
|
data/lib/chef/resource/sysctl.rb
CHANGED
@@ -131,9 +131,7 @@ class Chef
|
|
131
131
|
|
132
132
|
end
|
133
133
|
|
134
|
-
action :apply do
|
135
|
-
description "Apply a sysctl value."
|
136
|
-
|
134
|
+
action :apply, description: "Apply a sysctl value" do
|
137
135
|
converge_if_changed do
|
138
136
|
# set it temporarily
|
139
137
|
set_sysctl_param(new_resource.key, new_resource.value)
|
@@ -152,9 +150,7 @@ class Chef
|
|
152
150
|
end
|
153
151
|
end
|
154
152
|
|
155
|
-
action :remove do
|
156
|
-
description "Remove a sysctl value."
|
157
|
-
|
153
|
+
action :remove, description: "Remove a sysctl value" do
|
158
154
|
# only converge the resource if the file actually exists to delete
|
159
155
|
if ::File.exist?("#{new_resource.conf_dir}/99-chef-#{new_resource.key.tr("/", ".")}.conf")
|
160
156
|
converge_by "removing sysctl config at #{new_resource.conf_dir}/99-chef-#{new_resource.key.tr("/", ".")}.conf" do
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
|
35
35
|
```ruby
|
36
36
|
systemd_unit 'etcd.service' do
|
37
|
-
content(
|
37
|
+
content(Unit: {
|
38
38
|
Description: 'Etcd',
|
39
39
|
Documentation: ['https://coreos.com/etcd', 'man:etcd(1)'],
|
40
40
|
After: 'network.target',
|
@@ -46,7 +46,7 @@ class Chef
|
|
46
46
|
},
|
47
47
|
Install: {
|
48
48
|
WantedBy: 'multi-user.target',
|
49
|
-
}
|
49
|
+
})
|
50
50
|
action [:create, :enable]
|
51
51
|
end
|
52
52
|
```
|
@@ -113,7 +113,7 @@ class Chef
|
|
113
113
|
when Hash
|
114
114
|
IniParse.gen do |doc|
|
115
115
|
content.each_pair do |sect, opts|
|
116
|
-
doc.section(sect
|
116
|
+
doc.section(sect) do |section|
|
117
117
|
opts.each_pair do |opt, val|
|
118
118
|
[val].flatten.each do |v|
|
119
119
|
section.option(opt, v)
|
@@ -61,7 +61,7 @@ class Chef
|
|
61
61
|
|
62
62
|
property :variables, Hash,
|
63
63
|
description: "The variables property of the template resource can be used to reference a partial template file by using a Hash.",
|
64
|
-
default:
|
64
|
+
default: {}
|
65
65
|
|
66
66
|
property :cookbook, String,
|
67
67
|
description: "The cookbook in which a file is located (if it is not located in the current cookbook). The default value is the current cookbook.",
|
@@ -119,9 +119,7 @@ class Chef
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
action :set do
|
123
|
-
description "Set the timezone."
|
124
|
-
|
122
|
+
action :set, description: "Set the system timezone" do
|
125
123
|
# we have to check windows first since the value isn't case sensitive here
|
126
124
|
if windows?
|
127
125
|
unless current_windows_tz.casecmp?(new_resource.timezone)
|
@@ -78,12 +78,11 @@ class Chef
|
|
78
78
|
coerce: proc { |m| m.end_with?(".conf") ? m : m + ".conf" },
|
79
79
|
default: lazy { |r| r.username == "*" ? "00_all_limits.conf" : "#{r.username}_limits.conf" }
|
80
80
|
|
81
|
-
action :create do
|
81
|
+
action :create, description: "Create a ulimit configuration file" do
|
82
82
|
template "/etc/security/limits.d/#{new_resource.filename}" do
|
83
83
|
source ::File.expand_path("support/ulimit.erb", __dir__)
|
84
84
|
local true
|
85
85
|
mode "0644"
|
86
|
-
sensitive new_resource.sensitive
|
87
86
|
variables(
|
88
87
|
ulimit_user: new_resource.username,
|
89
88
|
filehandle_limit: new_resource.filehandle_limit,
|
@@ -107,7 +106,7 @@ class Chef
|
|
107
106
|
end
|
108
107
|
end
|
109
108
|
|
110
|
-
action :delete do
|
109
|
+
action :delete, description: "Delete an existing ulimit configuration file" do
|
111
110
|
file "/etc/security/limits.d/#{new_resource.filename}" do
|
112
111
|
action :delete
|
113
112
|
end
|
@@ -97,9 +97,7 @@ class Chef
|
|
97
97
|
property :sensitive, [TrueClass, FalseClass],
|
98
98
|
default: true, desired_state: false
|
99
99
|
|
100
|
-
action :join do
|
101
|
-
description "Join the Active Directory domain."
|
102
|
-
|
100
|
+
action :join, description: "Join the Active Directory domain" do
|
103
101
|
unless on_desired_domain?
|
104
102
|
cmd = "$pswd = ConvertTo-SecureString \'#{new_resource.domain_password}\' -AsPlainText -Force;"
|
105
103
|
cmd << "$credential = New-Object System.Management.Automation.PSCredential (\"#{sanitize_usename}\",$pswd);"
|
@@ -129,9 +127,7 @@ class Chef
|
|
129
127
|
end
|
130
128
|
end
|
131
129
|
|
132
|
-
action :leave do
|
133
|
-
description "Leave the Active Directory domain."
|
134
|
-
|
130
|
+
action :leave, description: "Leave an Active Directory domain and re-join a workgroup" do
|
135
131
|
if joined_to_domain?
|
136
132
|
cmd = ""
|
137
133
|
cmd << "$pswd = ConvertTo-SecureString \'#{new_resource.domain_password}\' -AsPlainText -Force;"
|
@@ -152,7 +152,7 @@ class Chef
|
|
152
152
|
property :audit_base_directories, [true, false],
|
153
153
|
description: "Setting this audit policy option to true will force the system to assign a System Access Control List to named objects to enable auditing of container objects such as directories."
|
154
154
|
|
155
|
-
action :set do
|
155
|
+
action :set, description: "Configure an audit policy" do
|
156
156
|
unless new_resource.subcategory.nil?
|
157
157
|
new_resource.subcategory.each do |subcategory|
|
158
158
|
next if subcategory_configured?(subcategory, new_resource.success, new_resource.failure)
|
@@ -57,8 +57,7 @@ class Chef
|
|
57
57
|
|
58
58
|
alias_method :program, :path
|
59
59
|
|
60
|
-
action :create do
|
61
|
-
description "Create an item to be run at login."
|
60
|
+
action :create, description: "Create an item to be run at login" do
|
62
61
|
|
63
62
|
data = "\"#{new_resource.path}\""
|
64
63
|
data << " #{new_resource.args}" if new_resource.args
|
@@ -73,9 +72,7 @@ class Chef
|
|
73
72
|
end
|
74
73
|
end
|
75
74
|
|
76
|
-
action :remove do
|
77
|
-
description "Remove an item that was previously setup to run at login"
|
78
|
-
|
75
|
+
action :remove, description: "Remove an item that was previously configured to run at login" do
|
79
76
|
registry_key registry_path do
|
80
77
|
values [{
|
81
78
|
name: new_resource.program_name,
|