chef 17.1.35-universal-mingw32 → 17.2.29-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/lib/chef/action_collection.rb +6 -26
- data/lib/chef/application.rb +1 -1
- data/lib/chef/application/base.rb +15 -0
- data/lib/chef/client.rb +6 -0
- data/lib/chef/cookbook_version.rb +26 -4
- data/lib/chef/data_bag.rb +2 -1
- data/lib/chef/data_bag_item.rb +2 -1
- data/lib/chef/data_collector.rb +0 -1
- data/lib/chef/data_collector/run_end_message.rb +1 -1
- data/lib/chef/deprecated.rb +4 -0
- data/lib/chef/event_dispatch/base.rb +2 -1
- data/lib/chef/exceptions.rb +3 -0
- data/lib/chef/handler.rb +46 -8
- data/lib/chef/handler/slow_report.rb +66 -0
- data/lib/chef/node.rb +20 -19
- data/lib/chef/provider/support/zypper_repo.erb +4 -2
- data/lib/chef/provider/zypper_repository.rb +27 -31
- data/lib/chef/resource/alternatives.rb +5 -5
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +2 -2
- data/lib/chef/resource/apt_update.rb +4 -4
- data/lib/chef/resource/build_essential.rb +1 -1
- data/lib/chef/resource/chef_client_config.rb +3 -3
- data/lib/chef/resource/chef_client_cron.rb +2 -2
- data/lib/chef/resource/chef_client_launchd.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +14 -14
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_handler.rb +2 -2
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chocolatey_feature.rb +2 -2
- data/lib/chef/resource/chocolatey_source.rb +1 -1
- data/lib/chef/resource/cron/cron_d.rb +4 -6
- data/lib/chef/resource/cron_access.rb +1 -1
- data/lib/chef/resource/dmg_package.rb +1 -1
- data/lib/chef/resource/group.rb +4 -4
- data/lib/chef/resource/homebrew_cask.rb +17 -6
- data/lib/chef/resource/homebrew_package.rb +1 -1
- data/lib/chef/resource/homebrew_tap.rb +4 -3
- data/lib/chef/resource/homebrew_update.rb +2 -2
- data/lib/chef/resource/hostname.rb +49 -7
- data/lib/chef/resource/inspec_waiver_file_entry.rb +6 -5
- data/lib/chef/resource/kernel_module.rb +6 -6
- data/lib/chef/resource/locale.rb +1 -1
- data/lib/chef/resource/macos_userdefaults.rb +2 -2
- data/lib/chef/resource/ohai_hint.rb +2 -6
- data/lib/chef/resource/openbsd_package.rb +17 -0
- data/lib/chef/resource/openssl_dhparam.rb +1 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +1 -3
- data/lib/chef/resource/openssl_ec_public_key.rb +1 -3
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -3
- data/lib/chef/resource/openssl_rsa_public_key.rb +1 -3
- data/lib/chef/resource/openssl_x509_certificate.rb +1 -4
- data/lib/chef/resource/openssl_x509_crl.rb +1 -3
- data/lib/chef/resource/openssl_x509_request.rb +1 -3
- data/lib/chef/resource/osx_profile.rb +3 -3
- data/lib/chef/resource/plist.rb +1 -1
- data/lib/chef/resource/powershell_package_source.rb +2 -4
- data/lib/chef/resource/reboot.rb +38 -9
- data/lib/chef/resource/remote_directory.rb +2 -2
- data/lib/chef/resource/rhsm_errata.rb +0 -2
- data/lib/chef/resource/rhsm_errata_level.rb +1 -5
- data/lib/chef/resource/rhsm_repo.rb +15 -0
- data/lib/chef/resource/ssh_known_hosts_entry.rb +4 -7
- data/lib/chef/resource/sudo.rb +2 -6
- data/lib/chef/resource/swap_file.rb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -2
- data/lib/chef/resource/timezone.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +2 -2
- data/lib/chef/resource/windows_audit_policy.rb +2 -2
- data/lib/chef/resource/windows_auto_run.rb +2 -2
- data/lib/chef/resource/windows_certificate.rb +1 -1
- data/lib/chef/resource/windows_dfs_folder.rb +2 -2
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -2
- data/lib/chef/resource/windows_dns_record.rb +2 -2
- data/lib/chef/resource/windows_dns_zone.rb +2 -2
- data/lib/chef/resource/windows_feature.rb +3 -3
- data/lib/chef/resource/windows_feature_dism.rb +3 -5
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +2 -2
- data/lib/chef/resource/windows_firewall_rule.rb +20 -6
- data/lib/chef/resource/windows_font.rb +1 -1
- data/lib/chef/resource/windows_pagefile.rb +103 -64
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +5 -20
- data/lib/chef/resource/windows_printer_port.rb +48 -65
- data/lib/chef/resource/windows_security_policy.rb +2 -2
- data/lib/chef/resource/windows_share.rb +2 -2
- data/lib/chef/resource/windows_shortcut.rb +1 -1
- data/lib/chef/resource/windows_task.rb +1 -1
- data/lib/chef/resource/windows_uac.rb +3 -5
- data/lib/chef/resource/windows_user_privilege.rb +2 -2
- data/lib/chef/resource/windows_workgroup.rb +2 -2
- data/lib/chef/resource/yum_package.rb +10 -10
- data/lib/chef/resource/zypper_package.rb +4 -4
- data/lib/chef/resource/zypper_repository.rb +28 -8
- data/lib/chef/resource_reporter.rb +0 -1
- data/lib/chef/version.rb +1 -1
- data/spec/functional/resource/windows_hostname_spec.rb +91 -0
- data/spec/functional/resource/windows_pagefile_spec.rb +98 -0
- data/spec/unit/cookbook_version_spec.rb +52 -0
- data/spec/unit/data_bag_item_spec.rb +2 -2
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/data_collector_spec.rb +47 -1
- data/spec/unit/handler_spec.rb +8 -2
- data/spec/unit/provider/zypper_repository_spec.rb +3 -10
- data/spec/unit/resource/windows_firewall_rule_spec.rb +12 -7
- data/spec/unit/resource/windows_pagefile_spec.rb +4 -9
- data/spec/unit/resource/zypper_repository_spec.rb +1 -1
- metadata +9 -6
@@ -194,7 +194,7 @@ class Chef
|
|
194
194
|
|
195
195
|
# This action needs to find an rb file that presumably contains the indicated class in it and the
|
196
196
|
# load that file. It then instantiates that class by name and registers it as a handler.
|
197
|
-
action :enable, description: "Enables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node" do
|
197
|
+
action :enable, description: "Enables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node." do
|
198
198
|
class_name = new_resource.class_name
|
199
199
|
new_resource.type.each do |type, enable|
|
200
200
|
next unless enable
|
@@ -216,7 +216,7 @@ class Chef
|
|
216
216
|
end
|
217
217
|
end
|
218
218
|
|
219
|
-
action :disable, description: "Disables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node" do
|
219
|
+
action :disable, description: "Disables the handler for the current #{ChefUtils::Dist::Infra::PRODUCT} run on the current node." do
|
220
220
|
new_resource.type.each_key do |type|
|
221
221
|
unregister_handler(type, new_resource.class_name)
|
222
222
|
end
|
@@ -62,7 +62,7 @@ class Chef
|
|
62
62
|
coerce: proc { |s| Integer(s) },
|
63
63
|
name_property: true
|
64
64
|
|
65
|
-
action :sleep, description: "Pause the #{ChefUtils::Dist::Infra::PRODUCT} run for a specified number of seconds" do
|
65
|
+
action :sleep, description: "Pause the #{ChefUtils::Dist::Infra::PRODUCT} run for a specified number of seconds." do
|
66
66
|
converge_by("sleep #{new_resource.seconds} seconds") do
|
67
67
|
sleep(new_resource.seconds)
|
68
68
|
end
|
@@ -65,7 +65,7 @@ class Chef
|
|
65
65
|
data ? data.attribute("enabled").to_s : nil # REXML just returns nil if it can't find anything so avoid an undefined method error
|
66
66
|
end
|
67
67
|
|
68
|
-
action :enable, description: "Enables a named Chocolatey feature" do
|
68
|
+
action :enable, description: "Enables a named Chocolatey feature." do
|
69
69
|
if current_resource.feature_state != true
|
70
70
|
converge_by("enable Chocolatey feature '#{new_resource.feature_name}'") do
|
71
71
|
shell_out!(choco_cmd("enable"))
|
@@ -73,7 +73,7 @@ class Chef
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
action :disable, description: "Disables a named Chocolatey feature" do
|
76
|
+
action :disable, description: "Disables a named Chocolatey feature." do
|
77
77
|
if current_resource.feature_state == true
|
78
78
|
converge_by("disable Chocolatey feature '#{new_resource.feature_name}'") do
|
79
79
|
shell_out!(choco_cmd("disable"))
|
@@ -98,7 +98,7 @@ class Chef
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
action :remove, description: "Removes a Chocolatey source" do
|
101
|
+
action :remove, description: "Removes a Chocolatey source." do
|
102
102
|
|
103
103
|
if current_resource
|
104
104
|
converge_by("remove Chocolatey source '#{new_resource.source_name}'") do
|
@@ -29,7 +29,7 @@ class Chef
|
|
29
29
|
provides :cron_d
|
30
30
|
|
31
31
|
introduced "14.4"
|
32
|
-
description "Use the **cron_d** resource to manage cron job files in the
|
32
|
+
description "Use the **cron_d** resource to manage cron job files in the `/etc/cron.d` directory. This is similar to the 'cron' resource, but it does not use the monolithic /etc/crontab file."
|
33
33
|
examples <<~DOC
|
34
34
|
**Run a program on the fifth hour of the day**
|
35
35
|
|
@@ -116,19 +116,17 @@ class Chef
|
|
116
116
|
end
|
117
117
|
|
118
118
|
action :create do
|
119
|
-
description "Add a cron definition file to
|
119
|
+
description "Add a cron definition file to `/etc/cron.d`."
|
120
120
|
|
121
121
|
create_template(:create)
|
122
122
|
end
|
123
123
|
|
124
|
-
action :create_if_missing do
|
125
|
-
description "Add a cron definition file to /etc/cron.d, but do not update an existing file."
|
124
|
+
action :create_if_missing, description: "Add a cron definition file to `/etc/cron.d`, but do not update an existing file." do
|
126
125
|
|
127
126
|
create_template(:create_if_missing)
|
128
127
|
end
|
129
128
|
|
130
|
-
action :delete do
|
131
|
-
description "Remove a cron definition file from /etc/cron.d if it exists."
|
129
|
+
action :delete, description: "Remove a cron definition file from `/etc/cron.d` if it exists." do
|
132
130
|
|
133
131
|
# cleanup the legacy named job if it exists
|
134
132
|
file "legacy named cron.d file" do
|
@@ -64,7 +64,7 @@ class Chef
|
|
64
64
|
"default" => "/etc",
|
65
65
|
}.freeze
|
66
66
|
|
67
|
-
action :allow, description: "Add the user to the cron.allow file" do
|
67
|
+
action :allow, description: "Add the user to the cron.allow file." do
|
68
68
|
allow_path = ::File.join(value_for_platform_family(CRON_PATHS), "cron.allow")
|
69
69
|
|
70
70
|
with_run_context :root do
|
data/lib/chef/resource/group.rb
CHANGED
@@ -43,16 +43,16 @@ class Chef
|
|
43
43
|
|
44
44
|
property :excluded_members, [String, Array], default: [],
|
45
45
|
coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
|
46
|
-
description: "Remove users from a group. May only be used when append is set to true
|
46
|
+
description: "Remove users from a group. May only be used when `append` is set to `true`."
|
47
47
|
|
48
48
|
property :append, [ TrueClass, FalseClass ], default: false,
|
49
|
-
description: "How members should be appended and/or removed from a group. When true, members are appended and excluded_members are removed. When false
|
49
|
+
description: "How members should be appended and/or removed from a group. When true, `members` are appended and `excluded_members` are removed. When `false`, group members are reset to the value of the `members` property."
|
50
50
|
|
51
51
|
property :system, [ TrueClass, FalseClass ], default: false,
|
52
|
-
description: "Set
|
52
|
+
description: "Set to `true` if the group belongs to a system group."
|
53
53
|
|
54
54
|
property :non_unique, [ TrueClass, FalseClass ], default: false,
|
55
|
-
description: "Allow gid duplication. May only be used with the Groupadd provider."
|
55
|
+
description: "Allow gid duplication. May only be used with the `Groupadd` user resource provider."
|
56
56
|
|
57
57
|
property :comment, String,
|
58
58
|
introduced: "14.9",
|
@@ -51,10 +51,16 @@ class Chef
|
|
51
51
|
|
52
52
|
property :owner, [String, Integer],
|
53
53
|
description: "The owner of the Homebrew installation.",
|
54
|
-
default: lazy { find_homebrew_username }
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
default: lazy { find_homebrew_username },
|
55
|
+
default_description: "Calculated default username"\
|
56
|
+
|
57
|
+
action :install, description: "Install an application that is packaged as a Homebrew cask." do
|
58
|
+
if new_resource.install_cask
|
59
|
+
homebrew_tap "homebrew/cask" do
|
60
|
+
homebrew_path new_resource.homebrew_path
|
61
|
+
owner new_resource.owner
|
62
|
+
end
|
63
|
+
end
|
58
64
|
|
59
65
|
unless casked?
|
60
66
|
converge_by("install cask #{new_resource.cask_name} #{new_resource.options}") do
|
@@ -66,8 +72,13 @@ class Chef
|
|
66
72
|
end
|
67
73
|
end
|
68
74
|
|
69
|
-
action :remove, description: "Remove an application packaged as a Homebrew cask" do
|
70
|
-
|
75
|
+
action :remove, description: "Remove an application that is packaged as a Homebrew cask." do
|
76
|
+
if new_resource.install_cask
|
77
|
+
homebrew_tap "homebrew/cask" do
|
78
|
+
homebrew_path new_resource.homebrew_path
|
79
|
+
owner new_resource.owner
|
80
|
+
end
|
81
|
+
end
|
71
82
|
|
72
83
|
if casked?
|
73
84
|
converge_by("uninstall cask #{new_resource.cask_name}") do
|
@@ -62,7 +62,7 @@ class Chef
|
|
62
62
|
DOC
|
63
63
|
|
64
64
|
property :homebrew_user, [ String, Integer ],
|
65
|
-
description: "The name or uid of the Homebrew owner to be used by #{ChefUtils::Dist::Infra::PRODUCT} when executing a command."
|
65
|
+
description: "The name or uid of the Homebrew owner to be used by #{ChefUtils::Dist::Infra::PRODUCT} when executing a command.\n\n#{ChefUtils::Dist::Infra::PRODUCT}, by default, will attempt to execute a Homebrew command as the owner of the `/usr/local/bin/brew` executable. If that executable does not exist, #{ChefUtils::Dist::Infra::PRODUCT} will attempt to find the user by executing `which brew`. If that executable cannot be found, #{ChefUtils::Dist::Infra::PRODUCT} will print an error message: `Could not find the 'brew' executable in /usr/local/bin or anywhere on the path.`.\n\nSet this property to specify the Homebrew owner for situations where Chef Infra Client cannot automatically detect the correct owner.'"
|
66
66
|
|
67
67
|
end
|
68
68
|
end
|
@@ -51,9 +51,10 @@ class Chef
|
|
51
51
|
|
52
52
|
property :owner, String,
|
53
53
|
description: "The owner of the Homebrew installation.",
|
54
|
-
default: lazy { find_homebrew_username }
|
54
|
+
default: lazy { find_homebrew_username },
|
55
|
+
default_description: "Calculated default username"
|
55
56
|
|
56
|
-
action :tap, description: "Add a Homebrew tap" do
|
57
|
+
action :tap, description: "Add a Homebrew tap." do
|
57
58
|
unless tapped?(new_resource.tap_name)
|
58
59
|
converge_by("tap #{new_resource.tap_name}") do
|
59
60
|
shell_out!("#{new_resource.homebrew_path} tap #{new_resource.full ? "--full" : ""} #{new_resource.tap_name} #{new_resource.url || ""}",
|
@@ -64,7 +65,7 @@ class Chef
|
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
67
|
-
action :untap, description: "Remove a Homebrew tap" do
|
68
|
+
action :untap, description: "Remove a Homebrew tap." do
|
68
69
|
if tapped?(new_resource.tap_name)
|
69
70
|
converge_by("untap #{new_resource.tap_name}") do
|
70
71
|
shell_out!("#{new_resource.homebrew_path} untap #{new_resource.tap_name}",
|
@@ -88,7 +88,7 @@ class Chef
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
action :periodic do
|
91
|
+
action :periodic, description: "Run a periodic update based on the frequency property." do
|
92
92
|
return unless macos?
|
93
93
|
|
94
94
|
unless brew_up_to_date?
|
@@ -98,7 +98,7 @@ class Chef
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
action :update do
|
101
|
+
action :update, description: "Run an immediate update." do
|
102
102
|
return unless macos?
|
103
103
|
|
104
104
|
converge_by "force update new lists of packages" do
|
@@ -44,6 +44,24 @@ class Chef
|
|
44
44
|
ipaddress '198.51.100.2'
|
45
45
|
end
|
46
46
|
```
|
47
|
+
|
48
|
+
**Change the hostname of a Windows, Non-Domain joined node**:
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
hostname 'renaming a workgroup computer' do
|
52
|
+
hostname 'Foo'
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
56
|
+
**Change the hostname of a Windows, Domain-joined node (new in 17.2)**:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
hostname 'renaming a domain-joined computer' do
|
60
|
+
hostname 'Foo'
|
61
|
+
domain_user "Domain\\Someone"
|
62
|
+
domain_password 'SomePassword'
|
63
|
+
end
|
64
|
+
```
|
47
65
|
DOC
|
48
66
|
|
49
67
|
property :hostname, String,
|
@@ -71,6 +89,15 @@ class Chef
|
|
71
89
|
description: "Determines whether or not Windows should be reboot after changing the hostname, as this is required for the change to take effect.",
|
72
90
|
default: true
|
73
91
|
|
92
|
+
property :domain_user, String,
|
93
|
+
description: "A domain account specified in the form of DOMAIN\\user used when renaming a domain-joined device",
|
94
|
+
introduced: "17.2"
|
95
|
+
|
96
|
+
property :domain_password, String,
|
97
|
+
description: "The password to accompany the domain_user parameter",
|
98
|
+
sensitive: true,
|
99
|
+
introduced: "17.2"
|
100
|
+
|
74
101
|
action_class do
|
75
102
|
def append_replacing_matching_lines(path, regex, string)
|
76
103
|
text = IO.read(path).split("\n")
|
@@ -103,7 +130,11 @@ class Chef
|
|
103
130
|
end
|
104
131
|
end
|
105
132
|
|
106
|
-
|
133
|
+
def is_domain_joined?
|
134
|
+
powershell_exec!("(Get-CIMInstance -Class Win32_ComputerSystem).PartofDomain").result
|
135
|
+
end
|
136
|
+
|
137
|
+
action :set, description: "Sets the node's hostname." do
|
107
138
|
if !windows?
|
108
139
|
ohai "reload hostname" do
|
109
140
|
plugin "hostname"
|
@@ -243,13 +274,24 @@ class Chef
|
|
243
274
|
end
|
244
275
|
|
245
276
|
unless Socket.gethostbyname(Socket.gethostname).first == new_resource.hostname
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
277
|
+
if is_domain_joined?
|
278
|
+
if new_resource.domain_user.nil? || new_resource.domain_password.nil?
|
279
|
+
raise "The `domain_user` and `domain_password` properties are required to change the hostname of a domain-connected Windows system."
|
280
|
+
else
|
281
|
+
converge_by "set hostname to #{new_resource.hostname}" do
|
282
|
+
powershell_exec! <<~EOH
|
283
|
+
$user = #{new_resource.domain_user}
|
284
|
+
$secure_password = #{new_resource.domain_password} | Convertto-SecureString -AsPlainText -Force
|
285
|
+
$Credentials = New-Object System.Management.Automation.PSCredential -Argumentlist ($user, $secure_password)
|
286
|
+
Rename-Computer -NewName #{new_resource.hostname} -DomainCredential $Credentials
|
287
|
+
EOH
|
288
|
+
end
|
289
|
+
end
|
290
|
+
else
|
291
|
+
converge_by "set hostname to #{new_resource.hostname}" do
|
292
|
+
powershell_exec!("Rename-Computer -NewName #{new_resource.hostname}")
|
293
|
+
end
|
251
294
|
end
|
252
|
-
|
253
295
|
# reboot because $windows
|
254
296
|
reboot "setting hostname" do
|
255
297
|
reason "#{ChefUtils::Dist::Infra::PRODUCT} updated system hostname"
|
@@ -16,8 +16,9 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require_relative "../resource"
|
19
|
-
|
19
|
+
autoload :YAML, "yaml"
|
20
20
|
require "date"
|
21
|
+
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
21
22
|
|
22
23
|
class Chef
|
23
24
|
class Resource
|
@@ -35,7 +36,7 @@ class Chef
|
|
35
36
|
file_path 'C:\\chef\\inspec_waiver_file.yml'
|
36
37
|
control 'my_inspec_control_01'
|
37
38
|
run_test false
|
38
|
-
justification "The subject of this control is not managed by
|
39
|
+
justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
|
39
40
|
expiration '2022-01-01'
|
40
41
|
action :add
|
41
42
|
end
|
@@ -45,7 +46,7 @@ class Chef
|
|
45
46
|
|
46
47
|
```ruby
|
47
48
|
inspec_waiver_file_entry 'my_inspec_control_01' do
|
48
|
-
justification "The subject of this control is not managed by
|
49
|
+
justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
|
49
50
|
action :add
|
50
51
|
end
|
51
52
|
```
|
@@ -110,7 +111,7 @@ class Chef
|
|
110
111
|
|
111
112
|
file "Update Waiver File #{new_resource.file_path} to update waiver for control #{new_resource.control}" do
|
112
113
|
path new_resource.file_path
|
113
|
-
content waiver_hash
|
114
|
+
content ::YAML.dump(waiver_hash)
|
114
115
|
backup new_resource.backup
|
115
116
|
action :create
|
116
117
|
end
|
@@ -125,7 +126,7 @@ class Chef
|
|
125
126
|
waiver_hash = waiver_hash.sort.to_h
|
126
127
|
file "Update Waiver File #{new_resource.file_path} to remove waiver for control #{new_resource.control}" do
|
127
128
|
path new_resource.file_path
|
128
|
-
content waiver_hash
|
129
|
+
content ::YAML.dump(waiver_hash)
|
129
130
|
backup new_resource.backup
|
130
131
|
action :create
|
131
132
|
end
|
@@ -93,7 +93,7 @@ class Chef
|
|
93
93
|
description: "The modprobe.d directory.",
|
94
94
|
default: "/etc/modprobe.d"
|
95
95
|
|
96
|
-
action :install, description: "Load kernel module, and ensure it loads on reboot" do
|
96
|
+
action :install, description: "Load kernel module, and ensure it loads on reboot." do
|
97
97
|
with_run_context :root do
|
98
98
|
find_resource(:execute, "update initramfs") do
|
99
99
|
command initramfs_command
|
@@ -121,7 +121,7 @@ class Chef
|
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
|
-
action :uninstall, description: "Unload a kernel module and remove module config, so it doesn't load on reboot" do
|
124
|
+
action :uninstall, description: "Unload a kernel module and remove module config, so it doesn't load on reboot." do
|
125
125
|
with_run_context :root do
|
126
126
|
find_resource(:execute, "update initramfs") do
|
127
127
|
command initramfs_command
|
@@ -146,7 +146,7 @@ class Chef
|
|
146
146
|
action_unload
|
147
147
|
end
|
148
148
|
|
149
|
-
action :blacklist, description: "Blacklist a kernel module" do
|
149
|
+
action :blacklist, description: "Blacklist a kernel module." do
|
150
150
|
with_run_context :root do
|
151
151
|
find_resource(:execute, "update initramfs") do
|
152
152
|
command initramfs_command
|
@@ -162,7 +162,7 @@ class Chef
|
|
162
162
|
action_unload
|
163
163
|
end
|
164
164
|
|
165
|
-
action :disable, description: "Disable a kernel module" do
|
165
|
+
action :disable, description: "Disable a kernel module. **New in Chef Infra Client 15.2.**" do
|
166
166
|
with_run_context :root do
|
167
167
|
find_resource(:execute, "update initramfs") do
|
168
168
|
command initramfs_command
|
@@ -178,7 +178,7 @@ class Chef
|
|
178
178
|
action_unload
|
179
179
|
end
|
180
180
|
|
181
|
-
action :load, description: "Load a kernel module" do
|
181
|
+
action :load, description: "Load a kernel module." do
|
182
182
|
unless module_loaded?
|
183
183
|
converge_by("load kernel module #{new_resource.modname}") do
|
184
184
|
shell_out!("modprobe #{new_resource.modname}")
|
@@ -186,7 +186,7 @@ class Chef
|
|
186
186
|
end
|
187
187
|
end
|
188
188
|
|
189
|
-
action :unload, description: "Unload kernel module" do
|
189
|
+
action :unload, description: "Unload kernel module." do
|
190
190
|
if module_loaded?
|
191
191
|
converge_by("unload kernel module #{new_resource.modname}") do
|
192
192
|
shell_out!("modprobe -r #{new_resource.modname}")
|
data/lib/chef/resource/locale.rb
CHANGED
@@ -97,7 +97,7 @@ class Chef
|
|
97
97
|
powershell_exec("Get-WinSystemLocale").result["Name"]
|
98
98
|
end
|
99
99
|
|
100
|
-
action :update, description: "Update the system's locale" do
|
100
|
+
action :update, description: "Update the system's locale." do
|
101
101
|
converge_if_changed do
|
102
102
|
set_system_locale
|
103
103
|
end
|
@@ -140,7 +140,7 @@ class Chef
|
|
140
140
|
state_cmd
|
141
141
|
end
|
142
142
|
|
143
|
-
action :write, description: "Write the value to the specified domain/key" do
|
143
|
+
action :write, description: "Write the value to the specified domain/key." do
|
144
144
|
converge_if_changed do
|
145
145
|
cmd = defaults_modify_cmd
|
146
146
|
Chef::Log.debug("Updating defaults value by shelling out: #{cmd.join(" ")}")
|
@@ -149,7 +149,7 @@ class Chef
|
|
149
149
|
end
|
150
150
|
end
|
151
151
|
|
152
|
-
action :delete, description: "Delete a key from a domain" do
|
152
|
+
action :delete, description: "Delete a key from a domain." do
|
153
153
|
# if it's not there there's nothing to remove
|
154
154
|
return unless current_resource
|
155
155
|
|
@@ -72,9 +72,7 @@ class Chef
|
|
72
72
|
description: "Determines whether or not the resource is executed during the compile time phase.",
|
73
73
|
default: true, desired_state: false
|
74
74
|
|
75
|
-
action :create do
|
76
|
-
description "Create an Ohai hint file."
|
77
|
-
|
75
|
+
action :create, description: "Create an Ohai hint file." do
|
78
76
|
directory ::Ohai::Config.ohai.hints_path.first do
|
79
77
|
action :create
|
80
78
|
recursive true
|
@@ -86,9 +84,7 @@ class Chef
|
|
86
84
|
end
|
87
85
|
end
|
88
86
|
|
89
|
-
action :delete do
|
90
|
-
description "Delete an Ohai hint file."
|
91
|
-
|
87
|
+
action :delete, description: "Delete an Ohai hint file." do
|
92
88
|
file ohai_hint_file_path(new_resource.hint_name) do
|
93
89
|
action :delete
|
94
90
|
notifies :reload, ohai[reload ohai post hint removal]
|