chef 14.7.17 → 14.8.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/chef/mixin/which.rb +3 -1
- data/lib/chef/provider/apt_repository.rb +1 -1
- data/lib/chef/provider/execute.rb +1 -1
- data/lib/chef/provider/osx_profile.rb +1 -1
- data/lib/chef/provider/package/apt.rb +15 -3
- data/lib/chef/provider/package/cab.rb +6 -2
- data/lib/chef/provider/package/chocolatey.rb +1 -1
- data/lib/chef/provider/package/dnf/python_helper.rb +2 -1
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/rubygems.rb +38 -16
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/apt_preference.rb +1 -1
- data/lib/chef/resource/apt_repository.rb +1 -1
- data/lib/chef/resource/chocolatey_config.rb +1 -1
- data/lib/chef/resource/chocolatey_source.rb +1 -1
- data/lib/chef/resource/cron.rb +27 -8
- data/lib/chef/resource/cron_access.rb +1 -1
- data/lib/chef/resource/cron_d.rb +8 -8
- data/lib/chef/resource/directory.rb +1 -1
- data/lib/chef/resource/dmg_package.rb +9 -9
- data/lib/chef/resource/execute.rb +2 -2
- data/lib/chef/resource/homebrew_cask.rb +1 -1
- data/lib/chef/resource/homebrew_tap.rb +1 -1
- data/lib/chef/resource/hostname.rb +2 -2
- data/lib/chef/resource/kernel_module.rb +1 -1
- data/lib/chef/resource/link.rb +1 -1
- data/lib/chef/resource/ohai_hint.rb +1 -1
- data/lib/chef/resource/package.rb +1 -1
- data/lib/chef/resource/scm.rb +1 -1
- data/lib/chef/resource/swap_file.rb +1 -1
- data/lib/chef/resource/sysctl.rb +1 -1
- data/lib/chef/resource/systemd_unit.rb +1 -1
- data/lib/chef/resource/template.rb +11 -3
- data/lib/chef/resource/windows_ad_join.rb +1 -1
- data/lib/chef/resource/windows_auto_run.rb +1 -1
- data/lib/chef/resource/windows_certificate.rb +2 -1
- data/lib/chef/resource/windows_feature.rb +6 -6
- data/lib/chef/resource/windows_feature_dism.rb +13 -17
- data/lib/chef/resource/windows_feature_powershell.rb +1 -1
- data/lib/chef/resource/windows_share.rb +9 -3
- data/lib/chef/resource/windows_task.rb +230 -231
- data/lib/chef/resource/windows_workgroup.rb +32 -23
- data/lib/chef/resource/yum_repository.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/spec/functional/resource/msu_package_spec.rb +14 -0
- data/spec/integration/knife/raw_spec.rb +11 -7
- data/spec/integration/knife/redirection_spec.rb +6 -4
- data/spec/support/shared/integration/app_server_support.rb +2 -2
- data/spec/unit/provider/apt_repository_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +81 -4
- data/spec/unit/provider/package/rubygems_spec.rb +47 -9
- data/spec/unit/resource/windows_certificate.rb +30 -0
- data/spec/unit/resource/windows_feature.rb +4 -0
- data/spec/unit/resource/windows_workgroup_spec.rb +27 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c08486082bafcd0e272f4a8fbdcf7677de1260168607f2f1a8a1017d41654ba5
|
4
|
+
data.tar.gz: 63d92a1beb97fef7ef40d566d02e2d6304848c51a0a59251dba9545bdbcdafcc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 123ec76435079d744bf4cd759b33932ea74f3381680b668a34e765f71817c69df7c2d012bbee5039363a26932b1cbda799d8a2abb85725fdbadceb4515f57f2b
|
7
|
+
data.tar.gz: f8265387cc5daaf80506352219cf787a847d4250c121bde4162fb88b62606f04f9120100025bc1fdf7dd98673eae922068f80a81cf1b056fb09c745fb4acd232
|
data/lib/chef/mixin/which.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#--
|
2
2
|
# Author:: Lamont Granquist <lamont@chef.io>
|
3
|
-
# Copyright:: Copyright 2010-
|
3
|
+
# Copyright:: Copyright 2010-2018, Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -18,6 +18,8 @@
|
|
18
18
|
class Chef
|
19
19
|
module Mixin
|
20
20
|
module Which
|
21
|
+
require "chef/chef_class"
|
22
|
+
|
21
23
|
def which(*cmds, extra_path: nil, &block)
|
22
24
|
where(*cmds, extra_path: extra_path, &block).first || false
|
23
25
|
end
|
@@ -225,7 +225,7 @@ class Chef
|
|
225
225
|
#
|
226
226
|
# @return [String] the full apt-key command to run
|
227
227
|
def keyserver_install_cmd(key, keyserver)
|
228
|
-
cmd = "apt-key adv --recv"
|
228
|
+
cmd = "apt-key adv --no-tty --recv"
|
229
229
|
cmd << " --keyserver-options http-proxy=#{new_resource.key_proxy}" if new_resource.key_proxy
|
230
230
|
cmd << " --keyserver "
|
231
231
|
cmd << if keyserver.start_with?("hkp://")
|
@@ -37,7 +37,7 @@ class Chef
|
|
37
37
|
def define_resource_requirements
|
38
38
|
if creates && creates_relative? && !cwd
|
39
39
|
# FIXME? move this onto the resource?
|
40
|
-
raise Chef::Exceptions::Execute, "Please either specify a full path for the creates
|
40
|
+
raise Chef::Exceptions::Execute, "Please either specify a full path for the creates property, or specify a cwd property to the #{new_resource} resource"
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -68,7 +68,7 @@ class Chef
|
|
68
68
|
!@new_profile_identifier.end_with?(".mobileconfig") &&
|
69
69
|
/^\w+(?:(\.| )\w+)+$/.match(@new_profile_identifier)
|
70
70
|
end
|
71
|
-
a.failure_message RuntimeError, "when removing using the identifier
|
71
|
+
a.failure_message RuntimeError, "when removing using the identifier property, it must match the profile identifier"
|
72
72
|
else
|
73
73
|
new_profile_name = new_resource.profile_name
|
74
74
|
a.assertion do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
|
-
# Copyright:: Copyright 2008-
|
3
|
+
# Copyright:: Copyright 2008-2018, Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -44,7 +44,7 @@ class Chef
|
|
44
44
|
|
45
45
|
requirements.assert(:all_actions) do |a|
|
46
46
|
a.assertion { !new_resource.source }
|
47
|
-
a.failure_message(Chef::Exceptions::Package, "apt package provider cannot handle source
|
47
|
+
a.failure_message(Chef::Exceptions::Package, "apt package provider cannot handle source property. Use dpkg provider instead")
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
@@ -92,7 +92,8 @@ class Chef
|
|
92
92
|
package_name = name.zip(version).map do |n, v|
|
93
93
|
package_data[n][:virtual] ? n : "#{n}=#{v}"
|
94
94
|
end
|
95
|
-
|
95
|
+
dgrade = "--allow-downgrades" if supports_allow_downgrade? && allow_downgrade
|
96
|
+
run_noninteractive("apt-get", "-q", "-y", dgrade, config_file_options, default_release_options, options, "install", package_name)
|
96
97
|
end
|
97
98
|
|
98
99
|
def upgrade_package(name, version)
|
@@ -133,6 +134,17 @@ class Chef
|
|
133
134
|
|
134
135
|
private
|
135
136
|
|
137
|
+
# @return [String] version of apt-get which is installed
|
138
|
+
def apt_version
|
139
|
+
@apt_version ||= shell_out("apt-get --version").stdout.match(/^apt (\S+)/)[1]
|
140
|
+
end
|
141
|
+
|
142
|
+
# @return [Boolean] if apt-get supports --allow-downgrades
|
143
|
+
def supports_allow_downgrade?
|
144
|
+
return @supports_allow_downgrade unless @supports_allow_downgrade.nil?
|
145
|
+
@supports_allow_downgrade = ( version_compare(apt_version, "1.1.0") >= 0 )
|
146
|
+
end
|
147
|
+
|
136
148
|
# compare 2 versions to each other to see which is newer.
|
137
149
|
# this differs from the standard package method because we
|
138
150
|
# need to be able to parse debian version strings which contain
|
@@ -74,9 +74,13 @@ class Chef
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def dism_command(command)
|
77
|
-
shellout = Mixlib::ShellOut.new("dism.exe /Online /English #{command} /NoRestart", timeout: new_resource.timeout)
|
78
77
|
with_os_architecture(nil) do
|
79
|
-
|
78
|
+
result = shell_out("dism.exe /Online /English #{command} /NoRestart", { timeout: new_resource.timeout })
|
79
|
+
if result.exitstatus == -2146498530
|
80
|
+
raise Chef::Exceptions::Package, "The specified package is not applicable to this image." if result.stdout.include?("0x800f081e")
|
81
|
+
result.error!
|
82
|
+
end
|
83
|
+
result
|
80
84
|
end
|
81
85
|
end
|
82
86
|
|
@@ -54,7 +54,7 @@ EOS
|
|
54
54
|
|
55
55
|
# The check that Chocolatey is installed is in #choco_exe.
|
56
56
|
|
57
|
-
# Chocolatey source
|
57
|
+
# Chocolatey source property points to an alternate feed
|
58
58
|
# and not a package specific alternate source like other providers
|
59
59
|
# so we want to assert candidates exist for the alternate source
|
60
60
|
requirements.assert(:upgrade, :install) do |a|
|
@@ -37,7 +37,8 @@ class Chef
|
|
37
37
|
DNF_HELPER = ::File.expand_path(::File.join(::File.dirname(__FILE__), "dnf_helper.py")).freeze
|
38
38
|
|
39
39
|
def dnf_command
|
40
|
-
|
40
|
+
# platform-python is used for system tools on RHEL 8 and is installed under /usr/libexec
|
41
|
+
@dnf_command ||= which("platform-python", "python", "python3", "python2", "python2.7", extra_path: "/usr/libexec") do |f|
|
41
42
|
shell_out("#{f} -c 'import dnf'").exitstatus == 0
|
42
43
|
end + " #{DNF_HELPER}"
|
43
44
|
end
|
@@ -53,7 +53,7 @@ class Chef
|
|
53
53
|
# Below are incomplete/missing features for this package provider
|
54
54
|
requirements.assert(:all_actions) do |a|
|
55
55
|
a.assertion { !new_resource.source }
|
56
|
-
a.failure_message(Chef::Exceptions::Package, "The openbsd package provider does not support the source
|
56
|
+
a.failure_message(Chef::Exceptions::Package, "The openbsd package provider does not support the source property")
|
57
57
|
end
|
58
58
|
requirements.assert(:all_actions) do |a|
|
59
59
|
a.assertion do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
3
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
4
|
-
# Copyright:: Copyright 2008-2016, 2010-
|
4
|
+
# Copyright:: Copyright 2008-2016, 2010-2018, Chef Software Inc.
|
5
5
|
# License:: Apache License, Version 2.0
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -49,42 +49,44 @@ class Chef
|
|
49
49
|
|
50
50
|
DEFAULT_UNINSTALLER_OPTS = { ignore: true, executables: true }.freeze
|
51
51
|
|
52
|
-
##
|
53
52
|
# The paths where rubygems should search for installed gems.
|
54
53
|
# Implemented by subclasses.
|
55
54
|
def gem_paths
|
56
55
|
raise NotImplementedError
|
57
56
|
end
|
58
57
|
|
59
|
-
##
|
60
58
|
# A rubygems source index containing the list of gemspecs for all
|
61
59
|
# available gems in the gem installation.
|
62
60
|
# Implemented by subclasses
|
63
|
-
#
|
64
|
-
# Gem::SourceIndex
|
61
|
+
#
|
62
|
+
# @return [Gem::SourceIndex]
|
63
|
+
#
|
65
64
|
def gem_source_index
|
66
65
|
raise NotImplementedError
|
67
66
|
end
|
68
67
|
|
69
|
-
##
|
70
68
|
# A rubygems specification object containing the list of gemspecs for all
|
71
69
|
# available gems in the gem installation.
|
72
70
|
# Implemented by subclasses
|
73
71
|
# For rubygems >= 1.8.0
|
74
|
-
#
|
75
|
-
# Gem::Specification
|
72
|
+
#
|
73
|
+
# @return [Gem::Specification]
|
74
|
+
#
|
76
75
|
def gem_specification
|
77
76
|
raise NotImplementedError
|
78
77
|
end
|
79
78
|
|
80
|
-
|
79
|
+
def rubygems_version
|
80
|
+
raise NotImplementedError
|
81
|
+
end
|
82
|
+
|
81
83
|
# Lists the installed versions of +gem_name+, constrained by the
|
82
84
|
# version spec in +gem_dep+
|
83
|
-
#
|
84
|
-
# Gem::Dependency
|
85
|
-
#
|
86
|
-
#
|
87
|
-
#
|
85
|
+
#
|
86
|
+
# @param gem_dep [Gem::Dependency] the version specification that constrains
|
87
|
+
# which gems are used.
|
88
|
+
# @return [Array<Gem::Specification>] an array of Gem::Specification objects
|
89
|
+
#
|
88
90
|
def installed_versions(gem_dep)
|
89
91
|
rubygems_version = Gem::Version.new(Gem::VERSION)
|
90
92
|
if rubygems_version >= Gem::Version.new("2.7")
|
@@ -266,6 +268,10 @@ class Chef
|
|
266
268
|
Gem::Specification
|
267
269
|
end
|
268
270
|
|
271
|
+
def rubygems_version
|
272
|
+
Gem::VERSION
|
273
|
+
end
|
274
|
+
|
269
275
|
def candidate_version_from_remote(gem_dependency, *sources)
|
270
276
|
with_gem_sources(*sources) do
|
271
277
|
find_newest_remote_version(gem_dependency, *sources)
|
@@ -293,6 +299,10 @@ class Chef
|
|
293
299
|
@gem_binary_location = gem_binary_location
|
294
300
|
end
|
295
301
|
|
302
|
+
def rubygems_version
|
303
|
+
@rubygems_version ||= shell_out!("#{@gem_binary_location} --version").stdout.chomp
|
304
|
+
end
|
305
|
+
|
296
306
|
def gem_paths
|
297
307
|
if self.class.gempath_cache.key?(@gem_binary_location)
|
298
308
|
self.class.gempath_cache[@gem_binary_location]
|
@@ -547,9 +557,9 @@ class Chef
|
|
547
557
|
end
|
548
558
|
src_str = src.empty? ? "" : " #{src.join(" ")}"
|
549
559
|
if !version.nil? && !version.empty?
|
550
|
-
shell_out!("#{gem_binary_path} install #{name} -q
|
560
|
+
shell_out!("#{gem_binary_path} install #{name} -q #{rdoc_string} -v \"#{version}\"#{src_str}#{opts}", env: nil)
|
551
561
|
else
|
552
|
-
shell_out!("#{gem_binary_path} install \"#{name}\" -q
|
562
|
+
shell_out!("#{gem_binary_path} install \"#{name}\" -q #{rdoc_string} #{src_str}#{opts}", env: nil)
|
553
563
|
end
|
554
564
|
end
|
555
565
|
|
@@ -585,6 +595,18 @@ class Chef
|
|
585
595
|
|
586
596
|
private
|
587
597
|
|
598
|
+
def rdoc_string
|
599
|
+
if needs_nodocument?
|
600
|
+
"--no-document"
|
601
|
+
else
|
602
|
+
"--no-rdoc --no-ri"
|
603
|
+
end
|
604
|
+
end
|
605
|
+
|
606
|
+
def needs_nodocument?
|
607
|
+
Gem::Requirement.new(">= 3.0.0.beta1").satisfied_by?(Gem::Version.new(gem_env.rubygems_version))
|
608
|
+
end
|
609
|
+
|
588
610
|
def opts
|
589
611
|
expand_options(new_resource.options)
|
590
612
|
end
|
@@ -32,7 +32,7 @@ class Chef
|
|
32
32
|
|
33
33
|
property :overwrite_config_files, [TrueClass, FalseClass],
|
34
34
|
introduced: "14.0",
|
35
|
-
description: "Overwrite existing
|
35
|
+
description: "Overwrite existing configuration files with those supplied by the package, if prompted by APT.",
|
36
36
|
default: false
|
37
37
|
|
38
38
|
end
|
@@ -30,7 +30,7 @@ class Chef
|
|
30
30
|
|
31
31
|
property :package_name, String,
|
32
32
|
name_property: true,
|
33
|
-
description: "
|
33
|
+
description: "An optional property to set the package name if it differs from the resource block's name.",
|
34
34
|
regex: [/^([a-z]|[A-Z]|[0-9]|_|-|\.|\*|\+)+$/],
|
35
35
|
validation_message: "The provided package name is not valid. Package names can only contain alphanumeric characters as well as _, -, +, or *!"
|
36
36
|
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
# to allow that so don't refactor this however tempting it is
|
35
35
|
property :repo_name, String,
|
36
36
|
regex: [/^[^\/]+$/],
|
37
|
-
description: "
|
37
|
+
description: "An optional property to set the repository name if it differs from the resource block's name. The value of this setting must not contain spaces.",
|
38
38
|
validation_message: "repo_name property cannot contain a forward slash '/'",
|
39
39
|
introduced: "14.1", name_property: true
|
40
40
|
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
introduced "14.3"
|
25
25
|
|
26
26
|
property :config_key, String, name_property: true,
|
27
|
-
description: "
|
27
|
+
description: "An optional property to set the config key name if it differs from the resource block's name."
|
28
28
|
|
29
29
|
property :value, String,
|
30
30
|
description: "The value to set."
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
introduced "14.3"
|
25
25
|
|
26
26
|
property :source_name, String, name_property: true,
|
27
|
-
description: "
|
27
|
+
description: "An optional property to set the source name if it differs from the resource block's name."
|
28
28
|
|
29
29
|
property :source, String,
|
30
30
|
description: "The source URL."
|
data/lib/chef/resource/cron.rb
CHANGED
@@ -134,14 +134,33 @@ class Chef
|
|
134
134
|
)
|
135
135
|
end
|
136
136
|
|
137
|
-
property :time, Symbol,
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
property :
|
142
|
-
|
143
|
-
|
144
|
-
property :
|
137
|
+
property :time, Symbol,
|
138
|
+
description: "A time interval. Possible values: :annually, :daily, :hourly, :midnight, :monthly, :reboot, :weekly, or :yearly.",
|
139
|
+
equal_to: Chef::Provider::Cron::SPECIAL_TIME_VALUES
|
140
|
+
|
141
|
+
property :mailto, String,
|
142
|
+
description: "Set the MAILTO environment variable."
|
143
|
+
|
144
|
+
property :path, String,
|
145
|
+
description: "Set the PATH environment variable."
|
146
|
+
|
147
|
+
property :home, String,
|
148
|
+
description: "Set the HOME environment variable."
|
149
|
+
|
150
|
+
property :shell, String,
|
151
|
+
description: "Set the SHELL environment variable."
|
152
|
+
|
153
|
+
property :command, String,
|
154
|
+
description: "The command to be run, or the path to a file that contains the command to be run.",
|
155
|
+
identity: true
|
156
|
+
|
157
|
+
property :user, String,
|
158
|
+
description: "The name of the user that runs the command. If the user property is changed, the original user for the crontab program continues to run until that crontab program is deleted. This property is not applicable on the AIX platform.",
|
159
|
+
default: "root"
|
160
|
+
|
161
|
+
property :environment, Hash,
|
162
|
+
description: "A Hash of environment variables in the form of ({'ENV_VARIABLE' => 'VALUE'}).",
|
163
|
+
default: lazy { Hash.new }
|
145
164
|
|
146
165
|
private
|
147
166
|
|
@@ -31,7 +31,7 @@ class Chef
|
|
31
31
|
description "Use the cron_access resource to manage the /etc/cron.allow and /etc/cron.deny files."
|
32
32
|
|
33
33
|
property :user, String,
|
34
|
-
description: "
|
34
|
+
description: "An optional property to set the user name if it differs from the resource block's name.",
|
35
35
|
name_property: true
|
36
36
|
|
37
37
|
action :allow do
|
data/lib/chef/resource/cron_d.rb
CHANGED
@@ -88,7 +88,7 @@ class Chef
|
|
88
88
|
end
|
89
89
|
|
90
90
|
property :cron_name, String,
|
91
|
-
description: "
|
91
|
+
description: "An optional property to set the cron name if it differs from the resource block's name.",
|
92
92
|
name_property: true
|
93
93
|
|
94
94
|
property :cookbook, String, desired_state: false
|
@@ -98,31 +98,31 @@ class Chef
|
|
98
98
|
equal_to: %w{ @reboot @yearly @annually @monthly @weekly @daily @midnight @hourly }
|
99
99
|
|
100
100
|
property :minute, [Integer, String],
|
101
|
-
description: "The minute
|
101
|
+
description: "The minute at which the cron entry should run (0 - 59).",
|
102
102
|
default: "*", callbacks: {
|
103
103
|
"should be a valid minute spec" => ->(spec) { validate_numeric(spec, 0, 59) },
|
104
104
|
}
|
105
105
|
|
106
106
|
property :hour, [Integer, String],
|
107
|
-
description: "The hour
|
107
|
+
description: "The hour at which the cron entry should run (0 - 23).",
|
108
108
|
default: "*", callbacks: {
|
109
109
|
"should be a valid hour spec" => ->(spec) { validate_numeric(spec, 0, 23) },
|
110
110
|
}
|
111
111
|
|
112
112
|
property :day, [Integer, String],
|
113
|
-
description: "The day
|
113
|
+
description: "The day of month at which the cron entry should run (1 - 31).",
|
114
114
|
default: "*", callbacks: {
|
115
115
|
"should be a valid day spec" => ->(spec) { validate_numeric(spec, 1, 31) },
|
116
116
|
}
|
117
117
|
|
118
118
|
property :month, [Integer, String],
|
119
|
-
description: "The month
|
119
|
+
description: "The month in the year on which a cron entry is to run (1 - 12, jan-dec, or *).",
|
120
120
|
default: "*", callbacks: {
|
121
121
|
"should be a valid month spec" => ->(spec) { validate_month(spec) },
|
122
122
|
}
|
123
123
|
|
124
124
|
property :weekday, [Integer, String],
|
125
|
-
description: "The day
|
125
|
+
description: "The day of the week on which this entry is to run (0-7, mon-sun, or *), where Sunday is both 0 and 7.",
|
126
126
|
default: "*", callbacks: {
|
127
127
|
"should be a valid weekday spec" => ->(spec) { validate_dow(spec) },
|
128
128
|
}
|
@@ -132,7 +132,7 @@ class Chef
|
|
132
132
|
required: true
|
133
133
|
|
134
134
|
property :user, String,
|
135
|
-
description: "The user
|
135
|
+
description: "The name of the user that runs the command.",
|
136
136
|
default: "root"
|
137
137
|
|
138
138
|
property :mailto, String,
|
@@ -151,7 +151,7 @@ class Chef
|
|
151
151
|
description: "A comment to place in the cron.d file."
|
152
152
|
|
153
153
|
property :environment, Hash,
|
154
|
-
description: "A Hash containing additional arbitrary environment variables under which the cron job will be run
|
154
|
+
description: "A Hash containing additional arbitrary environment variables under which the cron job will be run in the form of ``({'ENV_VARIABLE' => 'VALUE'})``.",
|
155
155
|
default: lazy { Hash.new }
|
156
156
|
|
157
157
|
property :mode, [String, Integer],
|
@@ -44,7 +44,7 @@ class Chef
|
|
44
44
|
description: "The path to the directory. Using a fully qualified path is recommended, but is not always required."
|
45
45
|
|
46
46
|
property :recursive, [ TrueClass, FalseClass ],
|
47
|
-
description: "Create or delete parent directories recursively. For the owner, group, and mode properties, the value of this
|
47
|
+
description: "Create or delete parent directories recursively. For the owner, group, and mode properties, the value of this property applies only to the leaf directory.",
|
48
48
|
default: false
|
49
49
|
end
|
50
50
|
end
|
@@ -27,31 +27,31 @@ class Chef
|
|
27
27
|
introduced "14.0"
|
28
28
|
|
29
29
|
property :app, String,
|
30
|
-
description: "The name of the application
|
30
|
+
description: "The name of the application as it appears in the /Volumes directory, if it differs from the resource block's name.",
|
31
31
|
name_property: true
|
32
32
|
|
33
33
|
property :source, String,
|
34
|
-
description: "The remote URL
|
34
|
+
description: "The remote URL that is used to download the .dmg file, if specified."
|
35
35
|
|
36
36
|
property :file, String,
|
37
|
-
description: "The
|
37
|
+
description: "The full path to the .dmg file on the local system."
|
38
38
|
|
39
39
|
property :owner, String,
|
40
|
-
description: "The
|
40
|
+
description: "The user that should own the package installation."
|
41
41
|
|
42
42
|
property :destination, String,
|
43
43
|
description: "The directory to copy the .app into.",
|
44
44
|
default: "/Applications"
|
45
45
|
|
46
46
|
property :checksum, String,
|
47
|
-
description: "The sha256 checksum of the dmg to download."
|
47
|
+
description: "The sha256 checksum of the .dmg file to download."
|
48
48
|
|
49
49
|
property :volumes_dir, String,
|
50
|
-
description: "The
|
50
|
+
description: "The directory under /Volumes where the dmg is mounted, if it differs from the name of the .dmg file.",
|
51
51
|
default: lazy { |r| r.app }, default_description: "The value passed for the application name."
|
52
52
|
|
53
53
|
property :dmg_name, String,
|
54
|
-
description: "The name of the dmg if it
|
54
|
+
description: "The name of the .dmg file if it differs from that of the app, or if the name has spaces.",
|
55
55
|
desired_state: false,
|
56
56
|
default: lazy { |r| r.app }, default_description: "The value passed for the application name."
|
57
57
|
|
@@ -61,10 +61,10 @@ class Chef
|
|
61
61
|
default: "app", desired_state: false
|
62
62
|
|
63
63
|
property :package_id, String,
|
64
|
-
description: "The package
|
64
|
+
description: "The package ID that is registered with pkgutil when a pkg or mpkg is installed."
|
65
65
|
|
66
66
|
property :dmg_passphrase, String,
|
67
|
-
description: "Specify a passphrase to
|
67
|
+
description: "Specify a passphrase to be used to decrypt the .dmg file during the mount process.",
|
68
68
|
desired_state: false
|
69
69
|
|
70
70
|
property :accept_eula, [TrueClass, FalseClass],
|