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
@@ -185,8 +185,7 @@ class Chef
|
|
185
185
|
enabled state["enabled"]
|
186
186
|
end
|
187
187
|
|
188
|
-
action :create do
|
189
|
-
description "Create a Windows firewall entry."
|
188
|
+
action :create, description: "Create a Windows firewall entry" do
|
190
189
|
if current_resource
|
191
190
|
converge_if_changed :rule_name, :description, :displayname, :local_address, :local_port, :remote_address,
|
192
191
|
:remote_port, :direction, :protocol, :icmp_type, :firewall_action, :profile, :program, :service,
|
@@ -207,9 +206,7 @@ class Chef
|
|
207
206
|
end
|
208
207
|
end
|
209
208
|
|
210
|
-
action :delete do
|
211
|
-
description "Delete an existing Windows firewall entry."
|
212
|
-
|
209
|
+
action :delete, description: "Delete an existing Windows firewall entry" do
|
213
210
|
if current_resource
|
214
211
|
converge_by("delete firewall rule #{new_resource.rule_name}") do
|
215
212
|
powershell_exec!("Remove-NetFirewallRule -Name '#{new_resource.rule_name}'")
|
@@ -45,11 +45,9 @@ class Chef
|
|
45
45
|
description: "A local filesystem path or URI that is used to source the font file.",
|
46
46
|
coerce: proc { |x| /^.:.*/.match?(x) ? x.tr('\\', "/").gsub("//", "/") : x }
|
47
47
|
|
48
|
-
action :install do
|
49
|
-
description "Install a font to the system fonts directory."
|
50
|
-
|
48
|
+
action :install, description: "Install a font to the system fonts directory" do
|
51
49
|
if font_exists?
|
52
|
-
logger.
|
50
|
+
logger.debug("Not installing font: #{new_resource.font_name} as font already installed.")
|
53
51
|
else
|
54
52
|
retrieve_cookbook_font
|
55
53
|
install_font
|
@@ -73,9 +73,7 @@ class Chef
|
|
73
73
|
property :maximum_size, Integer,
|
74
74
|
description: "Maximum size of the pagefile in megabytes."
|
75
75
|
|
76
|
-
action :set do
|
77
|
-
description "Configures the default pagefile, creating if it doesn't exist."
|
78
|
-
|
76
|
+
action :set, description: "Configures the default pagefile, creating if it doesn't exist" do
|
79
77
|
pagefile = new_resource.path
|
80
78
|
initial_size = new_resource.initial_size
|
81
79
|
maximum_size = new_resource.maximum_size
|
@@ -103,9 +101,7 @@ class Chef
|
|
103
101
|
end
|
104
102
|
end
|
105
103
|
|
106
|
-
action :delete do
|
107
|
-
description "Deletes the specified pagefile."
|
108
|
-
|
104
|
+
action :delete, description: "Deletes the specified pagefile" do
|
109
105
|
validate_name
|
110
106
|
delete(new_resource.path) if exists?(new_resource.path)
|
111
107
|
end
|
@@ -64,7 +64,7 @@ class Chef
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
action :add do
|
67
|
+
action :add, description: "Add an item to the system path" do
|
68
68
|
# The windows Env provider does not correctly expand variables in
|
69
69
|
# the PATH environment variable. Ruby expects these to be expanded.
|
70
70
|
#
|
@@ -76,7 +76,7 @@ class Chef
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
action :remove do
|
79
|
+
action :remove, description: "Remove an item from the system path" do
|
80
80
|
# The windows Env provider does not correctly expand variables in
|
81
81
|
# the PATH environment variable. Ruby expects these to be expanded.
|
82
82
|
#
|
@@ -86,11 +86,11 @@ class Chef
|
|
86
86
|
PRINTERS_REG_KEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\'.freeze unless defined?(PRINTERS_REG_KEY)
|
87
87
|
|
88
88
|
# @todo Set @current_resource printer properties from registry
|
89
|
-
load_current_value do |
|
90
|
-
name
|
89
|
+
load_current_value do |new_resource|
|
90
|
+
name new_resource.name
|
91
91
|
end
|
92
92
|
|
93
|
-
action :create do
|
93
|
+
action :create, description: "Create a new printer and printer port, if one doesn't already" do
|
94
94
|
description "Create a new printer and a printer port if one doesn't already exist."
|
95
95
|
|
96
96
|
if printer_exists?
|
@@ -102,7 +102,7 @@ class Chef
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
-
action :delete do
|
105
|
+
action :delete, description: "Delete an existing printer. Note that this resource does not delete the associated printer port." do
|
106
106
|
description "Delete an existing printer. Note this does not delete the associated printer port."
|
107
107
|
|
108
108
|
if printer_exists?
|
@@ -89,13 +89,13 @@ class Chef
|
|
89
89
|
PORTS_REG_KEY = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\\'.freeze unless defined?(PORTS_REG_KEY)
|
90
90
|
|
91
91
|
# @todo Set @current_resource port properties from registry
|
92
|
-
load_current_value do |
|
93
|
-
name
|
94
|
-
ipv4_address
|
95
|
-
port_name
|
92
|
+
load_current_value do |new_resource|
|
93
|
+
name new_resource.name
|
94
|
+
ipv4_address new_resource.ipv4_address
|
95
|
+
port_name new_resource.port_name || "IP_#{new_resource.ipv4_address}"
|
96
96
|
end
|
97
97
|
|
98
|
-
action :create do
|
98
|
+
action :create, description: "Create the printer port, if one doesn't already exist" do
|
99
99
|
description "Create the new printer port if it does not already exist."
|
100
100
|
|
101
101
|
if port_exists?
|
@@ -107,7 +107,7 @@ class Chef
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
-
action :delete do
|
110
|
+
action :delete, description: "Delete an existing printer port" do
|
111
111
|
description "Delete an existing printer port."
|
112
112
|
|
113
113
|
if port_exists?
|
@@ -28,7 +28,6 @@ class Chef
|
|
28
28
|
|
29
29
|
# The valid policy_names options found here
|
30
30
|
# https://github.com/ChrisAWalker/cSecurityOptions under 'AccountSettings'
|
31
|
-
# This needs to be revisited - the list at the link above is non-exhaustive and is missing a couple of items
|
32
31
|
policy_names = %w{LockoutDuration
|
33
32
|
MaximumPasswordAge
|
34
33
|
MinimumPasswordAge
|
@@ -37,8 +36,6 @@ class Chef
|
|
37
36
|
PasswordHistorySize
|
38
37
|
LockoutBadCount
|
39
38
|
ResetLockoutCount
|
40
|
-
AuditPolicyChange
|
41
|
-
LockoutDuration
|
42
39
|
RequireLogonToChangePassword
|
43
40
|
ForceLogoffWhenHourExpire
|
44
41
|
NewAdministratorName
|
@@ -86,22 +83,22 @@ class Chef
|
|
86
83
|
property :secvalue, String, required: true,
|
87
84
|
description: "Policy value to be set for policy name."
|
88
85
|
|
89
|
-
load_current_value do |
|
86
|
+
load_current_value do |new_resource|
|
90
87
|
current_state = load_security_options
|
91
88
|
|
92
|
-
if
|
93
|
-
if
|
89
|
+
if new_resource.secoption == "ResetLockoutCount"
|
90
|
+
if new_resource.secvalue.to_i > 30
|
94
91
|
raise Chef::Exceptions::ValidationFailed, "The \"ResetLockoutCount\" value cannot be greater than 30 minutes"
|
95
92
|
end
|
96
93
|
end
|
97
|
-
if (
|
98
|
-
raise Chef::Exceptions::ValidationFailed, "#{
|
94
|
+
if (new_resource.secoption == "ResetLockoutCount" || new_resource.secoption == "LockoutDuration") && current_state["LockoutBadCount"] == "0"
|
95
|
+
raise Chef::Exceptions::ValidationFailed, "#{new_resource.secoption} cannot be set unless the \"LockoutBadCount\" security policy has been set to a non-zero value"
|
99
96
|
end
|
100
97
|
|
101
|
-
secvalue current_state[
|
98
|
+
secvalue current_state[new_resource.secoption.to_s]
|
102
99
|
end
|
103
100
|
|
104
|
-
action :set do
|
101
|
+
action :set, description: "Set the Windows security policy" do
|
105
102
|
converge_if_changed :secvalue do
|
106
103
|
security_option = new_resource.secoption
|
107
104
|
security_value = new_resource.secvalue
|
@@ -118,13 +115,13 @@ class Chef
|
|
118
115
|
policy_line = "#{security_option} = \"#{security_value}\""
|
119
116
|
file.write("[Unicode]\r\nUnicode=yes\r\n[System Access]\r\n#{policy_line}\r\n[Version]\r\nsignature=\"$CHICAGO$\"\r\nRevision=1\r\n")
|
120
117
|
file.close
|
121
|
-
file_path = file.path.
|
118
|
+
file_path = file.path.tr("/", '\\')
|
122
119
|
cmd = "C:\\Windows\\System32\\secedit /configure /db C:\\windows\\security\\new.sdb /cfg #{file_path} /areas SECURITYPOLICY"
|
123
120
|
else
|
124
121
|
policy_line = "#{security_option} = #{security_value}"
|
125
122
|
file.write("[Unicode]\r\nUnicode=yes\r\n[System Access]\r\n#{policy_line}\r\n[Version]\r\nsignature=\"$CHICAGO$\"\r\nRevision=1\r\n")
|
126
123
|
file.close
|
127
|
-
file_path = file.path.
|
124
|
+
file_path = file.path.tr("/", '\\')
|
128
125
|
cmd = "C:\\Windows\\System32\\secedit /configure /db C:\\windows\\security\\new.sdb /cfg #{file_path} /areas SECURITYPOLICY"
|
129
126
|
end
|
130
127
|
shell_out!(cmd)
|
@@ -70,17 +70,17 @@ class Chef
|
|
70
70
|
# Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess, ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
|
71
71
|
property :full_users, Array,
|
72
72
|
description: "The users that should have 'Full control' permissions on the share in domain\\username format.",
|
73
|
-
default:
|
73
|
+
default: [], coerce: proc { |u| u.sort }
|
74
74
|
|
75
75
|
# Specifies which users are granted modify permission to access the share
|
76
76
|
property :change_users, Array,
|
77
77
|
description: "The users that should have 'modify' permission on the share in domain\\username format.",
|
78
|
-
default:
|
78
|
+
default: [], coerce: proc { |u| u.sort }
|
79
79
|
|
80
80
|
# Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
|
81
81
|
property :read_users, Array,
|
82
82
|
description: "The users that should have 'read' permission on the share in domain\\username format.",
|
83
|
-
default:
|
83
|
+
default: [], coerce: proc { |u| u.sort }
|
84
84
|
|
85
85
|
# Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares are persistent, and non-temporary.
|
86
86
|
property :temporary, [TrueClass, FalseClass],
|
@@ -118,11 +118,11 @@ class Chef
|
|
118
118
|
# Specifies which files and folders in the SMB share are visible to users. AccessBased: SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By default, access-based enumeration is disabled for new SMB shares. Unrestricted: SMB displays files and folders to a user even when the user does not have permission to access the items.
|
119
119
|
# property :folder_enumeration_mode, String, equal_to: %(AccessBased Unrestricted)
|
120
120
|
|
121
|
-
load_current_value do |
|
121
|
+
load_current_value do |new_resource|
|
122
122
|
# this command selects individual objects because EncryptData & CachingMode have underlying
|
123
123
|
# types that get converted to their Integer values by ConvertTo-Json & we need to make sure
|
124
124
|
# those get written out as strings
|
125
|
-
share_state_cmd = "Get-SmbShare -Name '#{
|
125
|
+
share_state_cmd = "Get-SmbShare -Name '#{new_resource.share_name}' | Select-Object Name,Path, Description, Temporary, CATimeout, ContinuouslyAvailable, ConcurrentUserLimit, EncryptData"
|
126
126
|
|
127
127
|
Chef::Log.debug("Running '#{share_state_cmd}' to determine share state'")
|
128
128
|
ps_results = powershell_exec(share_state_cmd)
|
@@ -146,14 +146,14 @@ class Chef
|
|
146
146
|
encrypt_data results["EncryptData"]
|
147
147
|
# folder_enumeration_mode results['FolderEnumerationMode']
|
148
148
|
|
149
|
-
perm_state_cmd = %{Get-SmbShareAccess -Name "#{
|
149
|
+
perm_state_cmd = %{Get-SmbShareAccess -Name "#{new_resource.share_name}" | Select-Object AccountName,AccessControlType,AccessRight}
|
150
150
|
|
151
151
|
Chef::Log.debug("Running '#{perm_state_cmd}' to determine share permissions state'")
|
152
152
|
ps_perm_results = powershell_exec(perm_state_cmd)
|
153
153
|
|
154
154
|
# we raise here instead of warning like above because we'd only get here if the above Get-SmbShare
|
155
155
|
# command was successful and that continuing would leave us with 1/2 known state
|
156
|
-
raise "Could not determine #{
|
156
|
+
raise "Could not determine #{new_resource.share_name} share permissions by running '#{perm_state_cmd}'" if ps_perm_results.error?
|
157
157
|
|
158
158
|
Chef::Log.debug("The Get-SmbShareAccess results were #{ps_perm_results.result}")
|
159
159
|
|
@@ -192,9 +192,7 @@ class Chef
|
|
192
192
|
name
|
193
193
|
end
|
194
194
|
|
195
|
-
action :create do
|
196
|
-
description "Create and modify Windows shares."
|
197
|
-
|
195
|
+
action :create, description: "Create or modify a Windows share" do
|
198
196
|
# we do this here instead of requiring the property because :delete doesn't need path set
|
199
197
|
raise "No path property set" unless new_resource.path
|
200
198
|
|
@@ -218,9 +216,7 @@ class Chef
|
|
218
216
|
end
|
219
217
|
end
|
220
218
|
|
221
|
-
action :delete do
|
222
|
-
description "Delete an existing Windows share."
|
223
|
-
|
219
|
+
action :delete, description: "Delete an existing Windows share" do
|
224
220
|
if current_resource.nil?
|
225
221
|
Chef::Log.debug("#{new_resource.share_name} does not exist - nothing to do")
|
226
222
|
else
|
@@ -275,14 +271,11 @@ class Chef
|
|
275
271
|
# users/groups will have their permissions updated with the same command that
|
276
272
|
# sets it, but removes must be performed with Revoke-SmbShareAccess
|
277
273
|
def users_to_revoke
|
278
|
-
@users_to_revoke ||=
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
(current_resource.full_users + current_resource.change_users + current_resource.read_users) - (new_resource.full_users + new_resource.change_users + new_resource.read_users)
|
284
|
-
end
|
285
|
-
end
|
274
|
+
@users_to_revoke ||= if current_resource.nil?
|
275
|
+
[]
|
276
|
+
else # if it exists then calculate the current to new resource diffs
|
277
|
+
(current_resource.full_users + current_resource.change_users + current_resource.read_users) - (new_resource.full_users + new_resource.change_users + new_resource.read_users)
|
278
|
+
end
|
286
279
|
end
|
287
280
|
|
288
281
|
# update existing permissions on a share
|
@@ -57,11 +57,11 @@ class Chef
|
|
57
57
|
property :iconlocation, String,
|
58
58
|
description: "Icon to use for the shortcut. Accepts the format of `path, index`, where index is the icon file to use. See Microsoft's [documentation](https://msdn.microsoft.com/en-us/library/3s9bx7at.aspx) for details"
|
59
59
|
|
60
|
-
load_current_value do |
|
60
|
+
load_current_value do |new_resource|
|
61
61
|
require "win32ole" if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
|
62
62
|
|
63
|
-
link = WIN32OLE.new("WScript.Shell").CreateShortcut(
|
64
|
-
name
|
63
|
+
link = WIN32OLE.new("WScript.Shell").CreateShortcut(new_resource.shortcut_name)
|
64
|
+
name new_resource.shortcut_name
|
65
65
|
target(link.TargetPath)
|
66
66
|
arguments(link.Arguments)
|
67
67
|
description(link.Description)
|
@@ -69,9 +69,7 @@ class Chef
|
|
69
69
|
iconlocation(link.IconLocation)
|
70
70
|
end
|
71
71
|
|
72
|
-
action :create do
|
73
|
-
description "Create or modify a Windows shortcut."
|
74
|
-
|
72
|
+
action :create, description: "Create or modify a Windows shortcut" do
|
75
73
|
converge_if_changed do
|
76
74
|
converge_by "creating shortcut #{new_resource.shortcut_name}" do
|
77
75
|
link = WIN32OLE.new("WScript.Shell").CreateShortcut(new_resource.shortcut_name)
|
@@ -21,6 +21,7 @@ require_relative "../resource"
|
|
21
21
|
require_relative "../win32/security" if ChefUtils.windows_ruby?
|
22
22
|
autoload :ISO8601, "iso8601" if ChefUtils.windows_ruby?
|
23
23
|
require_relative "../util/path_helper"
|
24
|
+
require_relative "../util/backup"
|
24
25
|
require "win32/taskscheduler" if ChefUtils.windows_ruby?
|
25
26
|
|
26
27
|
class Chef
|
@@ -236,6 +237,10 @@ class Chef
|
|
236
237
|
introduced: "14.15", default: false,
|
237
238
|
description: "To start the task at any time after its scheduled time has passed."
|
238
239
|
|
240
|
+
property :backup, [Integer, FalseClass],
|
241
|
+
introduced: "17.0", default: 5,
|
242
|
+
description: "Number of backups to keep of the task when modified/deleted. Set to false to disable backups."
|
243
|
+
|
239
244
|
attr_accessor :exists, :task, :command_arguments
|
240
245
|
|
241
246
|
VALID_WEEK_DAYS = %w{ mon tue wed thu fri sat sun * }.freeze
|
@@ -564,6 +569,7 @@ class Chef
|
|
564
569
|
|
565
570
|
def update_task(task)
|
566
571
|
converge_by("#{new_resource} task updated") do
|
572
|
+
do_backup
|
567
573
|
task.set_account_information(new_resource.user, new_resource.password, new_resource.interactive_enabled)
|
568
574
|
task.application_name = new_resource.command if new_resource.command
|
569
575
|
task.parameters = new_resource.command_arguments if new_resource.command_arguments
|
@@ -948,6 +954,11 @@ class Chef
|
|
948
954
|
def get_day(date)
|
949
955
|
Date.strptime(date, "%m/%d/%Y").strftime("%a").upcase
|
950
956
|
end
|
957
|
+
|
958
|
+
def do_backup
|
959
|
+
file = "C:/Windows/System32/Tasks/#{new_resource.task_name}"
|
960
|
+
Chef::Util::Backup.new(new_resource, file).backup!
|
961
|
+
end
|
951
962
|
end
|
952
963
|
|
953
964
|
action :create do
|
@@ -998,7 +1009,7 @@ class Chef
|
|
998
1009
|
end
|
999
1010
|
end
|
1000
1011
|
else
|
1001
|
-
logger.
|
1012
|
+
logger.debug "#{new_resource} task does not exist - nothing to do"
|
1002
1013
|
end
|
1003
1014
|
end
|
1004
1015
|
|
@@ -1006,11 +1017,12 @@ class Chef
|
|
1006
1017
|
if current_resource.exists
|
1007
1018
|
logger.trace "#{new_resource} task exists"
|
1008
1019
|
converge_by("delete scheduled task #{new_resource}") do
|
1020
|
+
do_backup
|
1009
1021
|
ts = ::Win32::TaskScheduler.new
|
1010
1022
|
ts.delete(current_resource.task_name)
|
1011
1023
|
end
|
1012
1024
|
else
|
1013
|
-
logger.
|
1025
|
+
logger.debug "#{new_resource} task does not exist - nothing to do"
|
1014
1026
|
end
|
1015
1027
|
end
|
1016
1028
|
|
@@ -1018,14 +1030,14 @@ class Chef
|
|
1018
1030
|
if current_resource.exists
|
1019
1031
|
logger.trace "#{new_resource} task exists"
|
1020
1032
|
if current_resource.task.status != "running"
|
1021
|
-
logger.
|
1033
|
+
logger.debug "#{new_resource} is not running - nothing to do"
|
1022
1034
|
else
|
1023
1035
|
converge_by("#{new_resource} task ended") do
|
1024
1036
|
current_resource.task.stop
|
1025
1037
|
end
|
1026
1038
|
end
|
1027
1039
|
else
|
1028
|
-
logger.
|
1040
|
+
logger.debug "#{new_resource} task does not exist - nothing to do"
|
1029
1041
|
end
|
1030
1042
|
end
|
1031
1043
|
|
@@ -1038,7 +1050,7 @@ class Chef
|
|
1038
1050
|
run_schtasks "CHANGE", "ENABLE" => ""
|
1039
1051
|
end
|
1040
1052
|
else
|
1041
|
-
logger.
|
1053
|
+
logger.debug "#{new_resource} already enabled - nothing to do"
|
1042
1054
|
end
|
1043
1055
|
else
|
1044
1056
|
logger.fatal "#{new_resource} task does not exist - nothing to do"
|
@@ -72,7 +72,7 @@ class Chef
|
|
72
72
|
equal_to: %i{auto_deny secure_prompt_for_creds prompt_for_creds},
|
73
73
|
default: :prompt_for_creds
|
74
74
|
|
75
|
-
action :configure do
|
75
|
+
action :configure, description: "Configures UAC by setting registry keys at `HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System`" do
|
76
76
|
description 'Configures UAC by setting registry keys at \'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\''
|
77
77
|
|
78
78
|
registry_key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' do
|
@@ -106,9 +106,7 @@ class Chef
|
|
106
106
|
#
|
107
107
|
# @return [Integer]
|
108
108
|
def consent_behavior_users_symbol_to_reg(sym)
|
109
|
-
|
110
|
-
# https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#registry-key-settings
|
111
|
-
[:auto_deny, :secure_prompt_for_creds, nil, :prompt_for_creds].index(sym)
|
109
|
+
%i{auto_deny secure_prompt_for_creds prompt_for_creds}.index(sym)
|
112
110
|
end
|
113
111
|
end
|
114
112
|
end
|
@@ -139,7 +139,7 @@ class Chef
|
|
139
139
|
coerce: proc { |v| Array(v) },
|
140
140
|
callbacks: {
|
141
141
|
"Privilege property restricted to the following values: #{PRIVILEGE_OPTS}" => lambda { |n| (n - PRIVILEGE_OPTS).empty? },
|
142
|
-
}
|
142
|
+
}
|
143
143
|
|
144
144
|
load_current_value do |new_resource|
|
145
145
|
if new_resource.principal && (new_resource.action.include?(:add) || new_resource.action.include?(:remove))
|
@@ -147,7 +147,7 @@ class Chef
|
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
action :add do
|
150
|
+
action :add, description: "Add a user privilege" do
|
151
151
|
([*new_resource.privilege] - [*current_resource.privilege]).each do |user_right|
|
152
152
|
converge_by("adding user '#{new_resource.principal}' privilege #{user_right}") do
|
153
153
|
Chef::ReservedNames::Win32::Security.add_account_right(new_resource.principal, user_right)
|
@@ -155,7 +155,7 @@ class Chef
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
158
|
-
action :set do
|
158
|
+
action :set, description: "Set the privileges that are listed in the `privilege` property for only the users listed in the `users` property" do
|
159
159
|
if new_resource.users.nil? || new_resource.users.empty?
|
160
160
|
raise Chef::Exceptions::ValidationFailed, "Users are required property with set action."
|
161
161
|
end
|
@@ -190,7 +190,7 @@ class Chef
|
|
190
190
|
end
|
191
191
|
end
|
192
192
|
|
193
|
-
action :clear do
|
193
|
+
action :clear, description: "Clear all user privileges" do
|
194
194
|
new_resource.privilege.each do |privilege|
|
195
195
|
accounts = Chef::ReservedNames::Win32::Security.get_account_with_user_rights(privilege)
|
196
196
|
|
@@ -204,7 +204,7 @@ class Chef
|
|
204
204
|
end
|
205
205
|
end
|
206
206
|
|
207
|
-
action :remove do
|
207
|
+
action :remove, description: "Remove a user privilege" do
|
208
208
|
curr_res_privilege = current_resource.privilege
|
209
209
|
missing_res_privileges = (new_resource.privilege - curr_res_privilege)
|
210
210
|
|
@@ -87,8 +87,7 @@ class Chef
|
|
87
87
|
property :sensitive, [TrueClass, FalseClass],
|
88
88
|
default: true, desired_state: false
|
89
89
|
|
90
|
-
action :join do
|
91
|
-
description "Update the workgroup."
|
90
|
+
action :join, description: "Update the workgroup." do
|
92
91
|
|
93
92
|
unless workgroup_member?
|
94
93
|
converge_by("join workstation workgroup #{new_resource.workgroup_name}") do
|
data/lib/chef/resource.rb
CHANGED
@@ -1513,7 +1513,7 @@ class Chef
|
|
1513
1513
|
# @return Chef::CookbookVersion The cookbook in which this Resource was defined.
|
1514
1514
|
#
|
1515
1515
|
def cookbook_version
|
1516
|
-
if cookbook_name
|
1516
|
+
if cookbook_name
|
1517
1517
|
run_context.cookbook_collection[cookbook_name]
|
1518
1518
|
end
|
1519
1519
|
end
|
@@ -41,7 +41,7 @@ class Chef
|
|
41
41
|
as_hash["result"] = action_record.action.to_s
|
42
42
|
if new_resource.cookbook_name
|
43
43
|
as_hash["cookbook_name"] = new_resource.cookbook_name
|
44
|
-
as_hash["cookbook_version"] = new_resource.cookbook_version
|
44
|
+
as_hash["cookbook_version"] = new_resource.cookbook_version.version
|
45
45
|
end
|
46
46
|
|
47
47
|
as_hash
|
data/lib/chef/resources.rb
CHANGED
@@ -125,7 +125,6 @@ require_relative "resource/smartos_package"
|
|
125
125
|
require_relative "resource/template"
|
126
126
|
require_relative "resource/user"
|
127
127
|
require_relative "resource/user/aix_user"
|
128
|
-
require_relative "resource/user/dscl_user"
|
129
128
|
require_relative "resource/user/linux_user"
|
130
129
|
require_relative "resource/user/mac_user"
|
131
130
|
require_relative "resource/user/pw_user"
|
data/lib/chef/shell/ext.rb
CHANGED
@@ -198,9 +198,9 @@ module Shell
|
|
198
198
|
prints a detailed explanation of the command if available, or the
|
199
199
|
description if no explanation is available.
|
200
200
|
E
|
201
|
-
def help(
|
202
|
-
if
|
203
|
-
explain_command(
|
201
|
+
def help(commmand = nil)
|
202
|
+
if commmand
|
203
|
+
explain_command(commmand)
|
204
204
|
else
|
205
205
|
puts help_banner
|
206
206
|
end
|
data/lib/chef/user.rb
CHANGED
data/lib/chef/user_v1.rb
CHANGED
@@ -145,11 +145,11 @@ class Chef
|
|
145
145
|
payload = {
|
146
146
|
username: @username,
|
147
147
|
display_name: @display_name,
|
148
|
-
first_name: @first_name,
|
149
|
-
last_name: @last_name,
|
150
148
|
email: @email,
|
151
|
-
password: @password,
|
152
149
|
}
|
150
|
+
payload[:first_name] = @first_name unless @first_name.nil?
|
151
|
+
payload[:last_name] = @last_name unless @last_name.nil?
|
152
|
+
payload[:password] = @password unless @password.nil?
|
153
153
|
payload[:public_key] = @public_key unless @public_key.nil?
|
154
154
|
payload[:create_key] = @create_key unless @create_key.nil?
|
155
155
|
payload[:middle_name] = @middle_name unless @middle_name.nil?
|
@@ -258,7 +258,6 @@ class Chef
|
|
258
258
|
end
|
259
259
|
|
260
260
|
# Class Methods
|
261
|
-
|
262
261
|
def self.from_hash(user_hash)
|
263
262
|
user = Chef::UserV1.new
|
264
263
|
user.username user_hash["username"]
|
@@ -103,7 +103,7 @@ class Chef::Util::DSC
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def whatif_not_supported?(dsc_exception_output)
|
106
|
-
!! (dsc_exception_output.gsub(
|
106
|
+
!! (dsc_exception_output.gsub(/\n+/, "").gsub(/\s+/, " ") =~ /A parameter cannot be found that matches parameter name 'Whatif'/i)
|
107
107
|
end
|
108
108
|
|
109
109
|
def dsc_module_import_failure?(command_output)
|
data/lib/chef/version.rb
CHANGED
data/lib/chef/win32/api.rb
CHANGED
@@ -43,8 +43,6 @@ class Chef
|
|
43
43
|
|
44
44
|
host.ffi_convention :stdcall
|
45
45
|
|
46
|
-
win64 = ENV["PROCESSOR_ARCHITECTURE"] == "AMD64" || ENV["PROCESSOR_ARCHITEW6432"] == "AMD64"
|
47
|
-
|
48
46
|
# Windows-specific type defs (ms-help://MS.MSDNQTR.v90.en/winprog/winprog/windows_data_types.htm):
|
49
47
|
host.typedef :ushort, :ATOM # Atom ~= Symbol: Atom table stores strings and corresponding identifiers. Application
|
50
48
|
# places a string in an atom table and receives a 16-bit integer, called an atom, that
|
@@ -122,15 +120,10 @@ class Chef
|
|
122
120
|
host.typedef :int32, :LONG32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
123
121
|
host.typedef :int64, :LONG64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
124
122
|
host.typedef :int64, :LONGLONG # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
123
|
+
host.typedef :long, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
|
125
124
|
# perform pointer arithmetic. BaseTsd.h:
|
126
125
|
# if defined(_WIN64) host.typedef __int64 LONG_PTR; #else host.typedef long LONG_PTR;
|
127
|
-
|
128
|
-
host.typedef :int64, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
|
129
|
-
host.typedef :int64, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
|
130
|
-
else
|
131
|
-
host.typedef :long, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
|
132
|
-
host.typedef :long, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
|
133
|
-
end
|
126
|
+
host.typedef :long, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
|
134
127
|
host.typedef :pointer, :LPBOOL # Pointer to a BOOL. WinDef.h as follows: #host.typedef BOOL far *LPBOOL;
|
135
128
|
host.typedef :pointer, :LPBYTE # Pointer to a BYTE. WinDef.h as follows: #host.typedef BYTE far *LPBYTE;
|
136
129
|
host.typedef :pointer, :LPCOLORREF # Pointer to a COLORREF value. WinDef.h as follows: #host.typedef DWORD *LPCOLORREF;
|
data/lib/chef/win32/registry.rb
CHANGED
@@ -21,9 +21,11 @@ require_relative "api"
|
|
21
21
|
require_relative "../mixin/wide_string"
|
22
22
|
|
23
23
|
if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
|
24
|
-
Win32.autoload :Registry, File.expand_path("../monkey_patches/win32/registry", __dir__)
|
25
|
-
require_relative "api/registry"
|
26
24
|
require "win32/api"
|
25
|
+
module Win32
|
26
|
+
autoload :Registry, File.expand_path("../monkey_patches/win32/registry", __dir__)
|
27
|
+
end
|
28
|
+
require_relative "api/registry"
|
27
29
|
end
|
28
30
|
|
29
31
|
class Chef
|
data/lib/chef/win32/version.rb
CHANGED
@@ -49,8 +49,7 @@ class Chef
|
|
49
49
|
private_class_method :method_name_from_marketing_name
|
50
50
|
|
51
51
|
WIN_VERSIONS = {
|
52
|
-
"Windows Server
|
53
|
-
"Windows Server 2019" => { major: 10, minor: 0, callable: lambda { |product_type, suite_mask, build_number| product_type != VER_NT_WORKSTATION && build_number >= 17763 && build_number < 20348 } },
|
52
|
+
"Windows Server 2019" => { major: 10, minor: 0, callable: lambda { |product_type, suite_mask, build_number| product_type != VER_NT_WORKSTATION && build_number >= 17763 } },
|
54
53
|
"Windows 10" => { major: 10, minor: 0, callable: lambda { |product_type, suite_mask, build_number| product_type == VER_NT_WORKSTATION } },
|
55
54
|
"Windows Server 2016" => { major: 10, minor: 0, callable: lambda { |product_type, suite_mask, build_number| product_type != VER_NT_WORKSTATION && build_number <= 14393 } },
|
56
55
|
"Windows 8.1" => { major: 6, minor: 3, callable: lambda { |product_type, suite_mask, build_number| product_type == VER_NT_WORKSTATION } },
|