chef 14.4.56 → 14.5.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/lib/.DS_Store +0 -0
- data/lib/chef/.DS_Store +0 -0
- data/lib/chef/client.rb +1 -1
- data/lib/chef/cookbook_version.rb +2 -2
- data/lib/chef/mixin/powershell_out.rb +1 -1
- data/lib/chef/node_map.rb +4 -10
- data/lib/chef/provider/.DS_Store +0 -0
- data/lib/chef/provider/dsc_resource.rb +2 -2
- data/lib/chef/provider/dsc_script.rb +4 -4
- data/lib/chef/provider/package/powershell.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +3 -3
- data/lib/chef/provider/script.rb +2 -2
- data/lib/chef/resource/apt_package.rb +1 -0
- data/lib/chef/resource/apt_repository.rb +1 -1
- data/lib/chef/resource/build_essential.rb +38 -38
- data/lib/chef/resource/chef_gem.rb +4 -1
- data/lib/chef/resource/chocolatey_package.rb +2 -1
- data/lib/chef/resource/directory.rb +6 -2
- data/lib/chef/resource/dmg_package.rb +1 -4
- data/lib/chef/resource/dnf_package.rb +20 -23
- data/lib/chef/resource/dpkg_package.rb +1 -3
- data/lib/chef/resource/dsc_resource.rb +2 -5
- data/lib/chef/resource/dsc_script.rb +1 -8
- data/lib/chef/resource/execute.rb +4 -1
- data/lib/chef/resource/gem_package.rb +17 -19
- data/lib/chef/resource/git.rb +4 -4
- data/lib/chef/resource/homebrew_cask.rb +2 -2
- data/lib/chef/resource/homebrew_tap.rb +3 -3
- data/lib/chef/resource/hostname.rb +4 -4
- data/lib/chef/resource/http_request.rb +1 -3
- data/lib/chef/resource/ifconfig.rb +1 -1
- data/lib/chef/resource/locale.rb +93 -0
- data/lib/chef/resource/macos_userdefaults.rb +2 -4
- data/lib/chef/resource/macosx_service.rb +2 -3
- data/lib/chef/resource/mount.rb +45 -18
- data/lib/chef/resource/msu_package.rb +10 -7
- data/lib/chef/resource/ohai.rb +2 -4
- data/lib/chef/resource/ohai_hint.rb +3 -3
- data/lib/chef/resource/openssl_dhparam.rb +5 -5
- data/lib/chef/resource/openssl_ec_private_key.rb +5 -5
- data/lib/chef/resource/openssl_ec_public_key.rb +5 -5
- data/lib/chef/resource/openssl_rsa_private_key.rb +6 -6
- data/lib/chef/resource/openssl_rsa_public_key.rb +7 -7
- data/lib/chef/resource/openssl_x509_certificate.rb +11 -11
- data/lib/chef/resource/openssl_x509_crl.rb +2 -2
- data/lib/chef/resource/openssl_x509_request.rb +7 -7
- data/lib/chef/resource/osx_profile.rb +13 -8
- data/lib/chef/resource/package.rb +26 -8
- data/lib/chef/resource/paludis_package.rb +3 -1
- data/lib/chef/resource/portage_package.rb +2 -1
- data/lib/chef/resource/powershell_package.rb +17 -9
- data/lib/chef/resource/powershell_package_source.rb +1 -1
- data/lib/chef/resource/reboot.rb +7 -2
- data/lib/chef/resource/rhsm_errata_level.rb +1 -3
- data/lib/chef/resource/route.rb +1 -1
- data/lib/chef/resource/scm.rb +42 -14
- data/lib/chef/resource/subversion.rb +7 -0
- data/lib/chef/resource/sudo.rb +7 -7
- data/lib/chef/resource/swap_file.rb +2 -2
- data/lib/chef/resource/sysctl.rb +1 -1
- data/lib/chef/resource/systemd_unit.rb +2 -1
- data/lib/chef/resource/windows_ad_join.rb +9 -4
- data/lib/chef/resource/windows_auto_run.rb +5 -5
- data/lib/chef/resource/windows_env.rb +1 -3
- data/lib/chef/resource/windows_feature_dism.rb +4 -5
- data/lib/chef/resource/windows_font.rb +3 -5
- data/lib/chef/resource/windows_package.rb +1 -2
- data/lib/chef/resource/windows_printer.rb +7 -9
- data/lib/chef/resource/windows_printer_port.rb +1 -1
- data/lib/chef/resource/windows_service.rb +26 -21
- data/lib/chef/resource/windows_shortcut.rb +4 -4
- data/lib/chef/resource/windows_task.rb +82 -36
- data/lib/chef/resource/windows_workgroup.rb +101 -0
- data/lib/chef/resource/yum_package.rb +30 -20
- data/lib/chef/resource/yum_repository.rb +134 -45
- data/lib/chef/resource/zypper_package.rb +8 -4
- data/lib/chef/resource/zypper_repository.rb +58 -20
- data/lib/chef/resource_inspector.rb +5 -3
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/util/powershell/cmdlet.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/spec/functional/resource/dsc_resource_spec.rb +3 -3
- data/spec/functional/resource/powershell_script_spec.rb +2 -2
- data/spec/functional/win32/crypto_spec.rb +1 -1
- data/spec/unit/cookbook_version_file_specificity_spec.rb +20 -0
- data/spec/unit/node_map_spec.rb +3 -3
- data/spec/unit/platform/query_helpers_spec.rb +4 -4
- data/spec/unit/provider/dsc_resource_spec.rb +2 -2
- data/spec/unit/provider/dsc_script_spec.rb +1 -1
- data/spec/unit/resource/dsc_resource_spec.rb +1 -1
- data/spec/unit/resource/locale_spec.rb +60 -0
- data/spec/unit/resource/scm_spec.rb +0 -10
- data/spec/unit/resource/windows_workgroup_spec.rb +47 -0
- data/tasks/dependencies.rb +2 -22
- data/tasks/templates/prerelease.md.erb +2 -2
- data/tasks/templates/release.md.erb +1 -1
- metadata +8 -5
- data/tasks/cbgb.rb +0 -84
data/lib/chef/resource/scm.rb
CHANGED
@@ -24,22 +24,50 @@ class Chef
|
|
24
24
|
default_action :sync
|
25
25
|
allowed_actions :checkout, :export, :sync, :diff, :log
|
26
26
|
|
27
|
-
property :destination, String,
|
27
|
+
property :destination, String,
|
28
|
+
description: "The location path to which the source is to be cloned, checked out, or exported. Default value: the name of the resource block.",
|
29
|
+
name_property: true, identity: true
|
30
|
+
|
28
31
|
property :repository, String
|
29
|
-
|
30
|
-
property :
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
|
33
|
+
property :revision, String,
|
34
|
+
description: "The revision to checkout.",
|
35
|
+
default: "HEAD"
|
36
|
+
|
37
|
+
property :user, [String, Integer],
|
38
|
+
description: "The system user that is responsible for the checked-out code."
|
39
|
+
|
40
|
+
property :group, [String, Integer],
|
41
|
+
description: "The system group that is responsible for the checked-out code."
|
42
|
+
|
34
43
|
# Capistrano and git-deploy use ``shallow clone''
|
35
|
-
property :depth, Integer
|
36
|
-
|
37
|
-
|
38
|
-
property :
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
property :
|
44
|
+
property :depth, Integer,
|
45
|
+
description: "The number of past revisions to be included in the git shallow clone. Unless specified the default behavior will do a full clone."
|
46
|
+
|
47
|
+
property :enable_submodules, [TrueClass, FalseClass],
|
48
|
+
description: "Perform a sub-module initialization and update.",
|
49
|
+
default: false
|
50
|
+
|
51
|
+
property :enable_checkout, [TrueClass, FalseClass],
|
52
|
+
description: "Check out a repo from master. Set to false when using the checkout_branch attribute to prevent the git resource from attempting to check out master from master.",
|
53
|
+
default: true
|
54
|
+
|
55
|
+
property :remote, String,
|
56
|
+
default: "origin"
|
57
|
+
|
58
|
+
property :ssh_wrapper, String,
|
59
|
+
desired_state: false
|
60
|
+
|
61
|
+
property :timeout, Integer,
|
62
|
+
desired_state: false
|
63
|
+
|
64
|
+
property :checkout_branch, String,
|
65
|
+
description: "Do a one-time checkout **or** use when a branch in the upstream repository is named 'deploy'. To prevent the resource from attempting to check out master from master, set 'enable_checkout' to 'false' when using the 'checkout_branch' property.",
|
66
|
+
default: "deploy"
|
67
|
+
|
68
|
+
property :environment, [Hash, nil],
|
69
|
+
description: "A Hash of environment variables in the form of ({'ENV_VARIABLE' => 'VALUE'}). (These variables must exist for a command to be run successfully.)",
|
70
|
+
default: nil
|
43
71
|
|
44
72
|
alias :env :environment
|
45
73
|
end
|
@@ -39,6 +39,13 @@ class Chef
|
|
39
39
|
property :svn_binary, String,
|
40
40
|
description: "The location of the svn binary."
|
41
41
|
|
42
|
+
property :svn_username, String,
|
43
|
+
description: "The username to use for interacting with subversion."
|
44
|
+
|
45
|
+
property :svn_password, String,
|
46
|
+
description: "The password to use for interacting with subversion.",
|
47
|
+
sensitive: true, desired_state: false
|
48
|
+
|
42
49
|
# Override exception to strip password if any, so it won't appear in logs and different Chef notifications
|
43
50
|
def custom_exception_message(e)
|
44
51
|
"#{self} (#{defined_at}) had an error: #{e.class.name}: #{svn_password ? e.message.gsub(svn_password, "[hidden_password]") : e.message}"
|
data/lib/chef/resource/sudo.rb
CHANGED
@@ -56,15 +56,15 @@ class Chef
|
|
56
56
|
default: ["ALL"]
|
57
57
|
|
58
58
|
property :host, String,
|
59
|
-
description: "The host to set in the sudo
|
59
|
+
description: "The host to set in the sudo configuration.",
|
60
60
|
default: "ALL"
|
61
61
|
|
62
62
|
property :runas, String,
|
63
|
-
description: "User the command(s) can be run as.",
|
63
|
+
description: "User that the command(s) can be run as.",
|
64
64
|
default: "ALL"
|
65
65
|
|
66
66
|
property :nopasswd, [TrueClass, FalseClass],
|
67
|
-
description: "Allow
|
67
|
+
description: "Allow sudo to be run without specifying a password.",
|
68
68
|
default: false
|
69
69
|
|
70
70
|
property :noexec, [TrueClass, FalseClass],
|
@@ -83,11 +83,11 @@ class Chef
|
|
83
83
|
default: lazy { [] }
|
84
84
|
|
85
85
|
property :command_aliases, Array,
|
86
|
-
description: "Command aliases that can be used as allowed commands later in the
|
86
|
+
description: "Command aliases that can be used as allowed commands later in the configuration.",
|
87
87
|
default: lazy { [] }
|
88
88
|
|
89
89
|
property :setenv, [TrueClass, FalseClass],
|
90
|
-
description: "
|
90
|
+
description: "Determines whether or not to permit preservation of the environment with 'sudo -E'.",
|
91
91
|
default: false
|
92
92
|
|
93
93
|
property :env_keep_add, Array,
|
@@ -102,11 +102,11 @@ class Chef
|
|
102
102
|
description: "Deprecated property. Do not use."
|
103
103
|
|
104
104
|
property :visudo_binary, String,
|
105
|
-
description: "The path to visudo for
|
105
|
+
description: "The path to visudo for configuration verification.",
|
106
106
|
default: "/usr/sbin/visudo"
|
107
107
|
|
108
108
|
property :config_prefix, String,
|
109
|
-
description: "The directory
|
109
|
+
description: "The directory that contains the sudoers configuration file",
|
110
110
|
default: lazy { platform_config_prefix }
|
111
111
|
|
112
112
|
# handle legacy cookbook property
|
@@ -31,14 +31,14 @@ class Chef
|
|
31
31
|
name_property: true
|
32
32
|
|
33
33
|
property :size, Integer,
|
34
|
-
description: "The size (in MBs)
|
34
|
+
description: "The size (in MBs) of the swap file."
|
35
35
|
|
36
36
|
property :persist, [TrueClass, FalseClass],
|
37
37
|
description: "Persist the swapon.",
|
38
38
|
default: false
|
39
39
|
|
40
40
|
property :timeout, Integer,
|
41
|
-
description: "Timeout for dd/fallocate.",
|
41
|
+
description: "Timeout for 'dd' / 'fallocate' commands.",
|
42
42
|
default: 600
|
43
43
|
|
44
44
|
property :swappiness, Integer,
|
data/lib/chef/resource/sysctl.rb
CHANGED
@@ -25,7 +25,7 @@ class Chef
|
|
25
25
|
provides(:sysctl_param) { true }
|
26
26
|
|
27
27
|
description "Use the sysctl resource to set kernel parameters using the sysctl"\
|
28
|
-
" command line tool and configuration files in the system's sysctl.d directory."\
|
28
|
+
" command line tool and configuration files in the system's sysctl.d directory. "\
|
29
29
|
"Configuration files managed by this resource are named 99-chef-KEYNAME.conf. If"\
|
30
30
|
" an existing value was already set for the value it will be backed up to the node"\
|
31
31
|
" and restored if the :remove action is used later."
|
@@ -30,21 +30,21 @@ class Chef
|
|
30
30
|
introduced "14.0"
|
31
31
|
|
32
32
|
property :domain_name, String,
|
33
|
-
description: "The FQDN of the
|
33
|
+
description: "The FQDN of the Active Directory domain to join.",
|
34
34
|
validation_message: "The 'domain_name' property must be a FQDN.",
|
35
35
|
regex: /.\../, # anything.anything
|
36
36
|
name_property: true
|
37
37
|
|
38
38
|
property :domain_user, String,
|
39
|
-
description: "The domain user
|
39
|
+
description: "The domain user that will be used to join the domain.",
|
40
40
|
required: true
|
41
41
|
|
42
42
|
property :domain_password, String,
|
43
|
-
description: "The password for the domain user.",
|
43
|
+
description: "The password for the domain user. Note that this resource is set to hide sensitive information by default. ",
|
44
44
|
required: true
|
45
45
|
|
46
46
|
property :ou_path, String,
|
47
|
-
description: "The path to the
|
47
|
+
description: "The path to the Organizational Unit where the host will be placed."
|
48
48
|
|
49
49
|
property :reboot, Symbol,
|
50
50
|
equal_to: [:immediate, :delayed, :never, :request_reboot, :reboot_now],
|
@@ -52,6 +52,10 @@ class Chef
|
|
52
52
|
description: "Controls the system reboot behavior post domain joining. Reboot immediately, after the Chef run completes, or never. Note that a reboot is necessary for changes to take effect.",
|
53
53
|
default: :immediate
|
54
54
|
|
55
|
+
property :new_hostname, String,
|
56
|
+
description: "Specifies a new hostname for the computer in the new domain.",
|
57
|
+
introduced: "14.5"
|
58
|
+
|
55
59
|
# define this again so we can default it to true. Otherwise failures print the password
|
56
60
|
property :sensitive, [TrueClass, FalseClass],
|
57
61
|
default: true
|
@@ -64,6 +68,7 @@ class Chef
|
|
64
68
|
cmd << "$credential = New-Object System.Management.Automation.PSCredential (\"#{new_resource.domain_user}\",$pswd);"
|
65
69
|
cmd << "Add-Computer -DomainName #{new_resource.domain_name} -Credential $credential"
|
66
70
|
cmd << " -OUPath \"#{new_resource.ou_path}\"" if new_resource.ou_path
|
71
|
+
cmd << " -NewName \"#{new_resource.new_name}\"" if new_resource.new_name
|
67
72
|
cmd << " -Force"
|
68
73
|
|
69
74
|
converge_by("join Active Directory domain #{new_resource.domain_name}") do
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
resource_name :windows_auto_run
|
25
25
|
provides(:windows_auto_run) { true }
|
26
26
|
|
27
|
-
description "Use the windows_auto_run resource to set applications to run at
|
27
|
+
description "Use the windows_auto_run resource to set applications to run at login."
|
28
28
|
introduced "14.0"
|
29
29
|
|
30
30
|
property :program_name, String,
|
@@ -33,10 +33,10 @@ class Chef
|
|
33
33
|
|
34
34
|
property :path, String,
|
35
35
|
coerce: proc { |x| x.tr("/", "\\") }, # make sure we have windows paths for the registry
|
36
|
-
description: "The path to the program
|
36
|
+
description: "The path to the program that will run at login. "
|
37
37
|
|
38
38
|
property :args, String,
|
39
|
-
description: "Any arguments
|
39
|
+
description: "Any arguments to be used with the program."
|
40
40
|
|
41
41
|
property :root, Symbol,
|
42
42
|
description: "The registry root key to put the entry under.",
|
@@ -51,7 +51,7 @@ class Chef
|
|
51
51
|
data = "\"#{new_resource.path}\""
|
52
52
|
data << " #{new_resource.args}" if new_resource.args
|
53
53
|
|
54
|
-
|
54
|
+
registry_key registry_path do
|
55
55
|
values [{
|
56
56
|
name: new_resource.program_name,
|
57
57
|
type: :string,
|
@@ -64,7 +64,7 @@ class Chef
|
|
64
64
|
action :remove do
|
65
65
|
description "Remove an item that was previously setup to run at login"
|
66
66
|
|
67
|
-
|
67
|
+
registry_key registry_path do
|
68
68
|
values [{
|
69
69
|
name: new_resource.program_name,
|
70
70
|
type: :string,
|
@@ -26,9 +26,7 @@ class Chef
|
|
26
26
|
provides :windows_env
|
27
27
|
provides :env # backwards compat with the pre-Chef 14 resource name
|
28
28
|
|
29
|
-
description "Use the env resource to manage environment keys in Microsoft Windows."
|
30
|
-
" After an environment key is set, Microsoft Windows must be restarted"\
|
31
|
-
" before the environment key will be available to the Task Scheduler."
|
29
|
+
description "Use the env resource to manage environment keys in Microsoft Windows. After an environment key is set, Microsoft Windows must be restarted before the environment key will be available to the Task Scheduler."
|
32
30
|
|
33
31
|
default_action :create
|
34
32
|
allowed_actions :create, :delete, :modify
|
@@ -25,20 +25,19 @@ class Chef
|
|
25
25
|
resource_name :windows_feature_dism
|
26
26
|
provides(:windows_feature_dism) { true }
|
27
27
|
|
28
|
-
description "
|
29
|
-
" delete Windows features and roles using DISM"
|
28
|
+
description "Use the windows_feature_dism resource to add, remove or delete Windows features and roles using DISM"
|
30
29
|
introduced "14.0"
|
31
30
|
|
32
31
|
property :feature_name, [Array, String],
|
33
|
-
description: "The name of the feature
|
32
|
+
description: "The name of the feature(s) or role(s) to install, if it differs from the resource name.",
|
34
33
|
coerce: proc { |x| to_formatted_array(x) },
|
35
34
|
name_property: true
|
36
35
|
|
37
36
|
property :source, String,
|
38
|
-
description: "
|
37
|
+
description: "Specify a local repository for the feature install."
|
39
38
|
|
40
39
|
property :all, [TrueClass, FalseClass],
|
41
|
-
description: "Install all sub
|
40
|
+
description: "Install all sub-features. When set to 'true', this is the equivalent of specifying the /All switch to dism.exe",
|
42
41
|
default: false
|
43
42
|
|
44
43
|
property :timeout, Integer,
|
@@ -25,17 +25,15 @@ class Chef
|
|
25
25
|
resource_name :windows_font
|
26
26
|
provides(:windows_font) { true }
|
27
27
|
|
28
|
-
description "Use the windows_font resource to install font files on Windows."
|
29
|
-
" By default, the font is sourced from the cookbook using the resource, but a URI"\
|
30
|
-
" source can be specified as well."
|
28
|
+
description "Use the windows_font resource to install font files on Windows. By default, the font is sourced from the cookbook using the resource, but a URI source can be specified as well."
|
31
29
|
introduced "14.0"
|
32
30
|
|
33
31
|
property :font_name, String,
|
34
|
-
description: "The
|
32
|
+
description: "The name of the font file to install, if it differs from the resource name.",
|
35
33
|
name_property: true
|
36
34
|
|
37
35
|
property :source, String,
|
38
|
-
description: "A local filesystem path or URI to source the font file
|
36
|
+
description: "A local filesystem path or URI that is used to source the font file.",
|
39
37
|
coerce: proc { |x| x =~ /^.:.*/ ? x.tr('\\', "/").gsub("//", "/") : x }
|
40
38
|
|
41
39
|
action :install do
|
@@ -30,8 +30,7 @@ class Chef
|
|
30
30
|
provides(:windows_package) { true }
|
31
31
|
provides :package, os: "windows"
|
32
32
|
|
33
|
-
description "Use the windows_package resource to manage Microsoft Installer Package"
|
34
|
-
" (MSI) packages for the Microsoft Windows platform."
|
33
|
+
description "Use the windows_package resource to manage Microsoft Installer Package (MSI) packages for the Microsoft Windows platform."
|
35
34
|
introduced "11.12"
|
36
35
|
|
37
36
|
allowed_actions :install, :remove
|
@@ -27,20 +27,18 @@ class Chef
|
|
27
27
|
resource_name :windows_printer
|
28
28
|
provides(:windows_printer) { true }
|
29
29
|
|
30
|
-
description "Use the windows_printer resource to setup Windows printers. Note"
|
31
|
-
" that this doesn't currently install a printer driver. You must"\
|
32
|
-
" already have the driver installed on the system."
|
30
|
+
description "Use the windows_printer resource to setup Windows printers. Note that this doesn't currently install a printer driver. You must already have the driver installed on the system."
|
33
31
|
introduced "14.0"
|
34
32
|
|
35
33
|
property :device_id, String,
|
36
|
-
description: "Printer queue name,
|
34
|
+
description: "Printer queue name, such as 'HP LJ 5200 in fifth floor copy room'.",
|
37
35
|
name_property: true
|
38
36
|
|
39
37
|
property :comment, String,
|
40
38
|
description: "Optional descriptor for the printer queue."
|
41
39
|
|
42
40
|
property :default, [TrueClass, FalseClass],
|
43
|
-
description: "
|
41
|
+
description: "Determines whether or not this should be the system's default printer.",
|
44
42
|
default: false
|
45
43
|
|
46
44
|
property :driver_name, String,
|
@@ -48,17 +46,17 @@ class Chef
|
|
48
46
|
required: true
|
49
47
|
|
50
48
|
property :location, String,
|
51
|
-
description: "Printer location,
|
49
|
+
description: "Printer location, such as 'Fifth floor copy room'."
|
52
50
|
|
53
51
|
property :shared, [TrueClass, FalseClass],
|
54
|
-
description: "
|
52
|
+
description: "Determines whether or not the printer is shared.",
|
55
53
|
default: false
|
56
54
|
|
57
55
|
property :share_name, String,
|
58
|
-
description: "The name to
|
56
|
+
description: "The name used to identify the shared printer."
|
59
57
|
|
60
58
|
property :ipv4_address, String,
|
61
|
-
description: "
|
59
|
+
description: "The IPv4 address of the printer, such as '10.4.64.23'",
|
62
60
|
validation_message: "The ipv4_address property must be in the IPv4 format of WWW.XXX.YYY.ZZZ",
|
63
61
|
regex: Resolv::IPv4::Regex
|
64
62
|
|
@@ -47,7 +47,7 @@ class Chef
|
|
47
47
|
description: "The description of the port."
|
48
48
|
|
49
49
|
property :snmp_enabled, [TrueClass, FalseClass],
|
50
|
-
description: "
|
50
|
+
description: "Determines if SNMP is enabled on the port.",
|
51
51
|
default: false
|
52
52
|
|
53
53
|
property :port_protocol, Integer,
|
@@ -36,18 +36,21 @@ class Chef
|
|
36
36
|
provides(:windows_service) { true }
|
37
37
|
provides :service, os: "windows"
|
38
38
|
|
39
|
-
description "Use the windows_service resource to manage a service on the Microsoft Windows platform."
|
39
|
+
description "Use the windows_service resource to create, delete, or manage a service on the Microsoft Windows platform."
|
40
40
|
introduced "12.0"
|
41
41
|
|
42
42
|
allowed_actions :configure_startup, :create, :delete, :configure
|
43
43
|
|
44
44
|
state_attrs :enabled, :running
|
45
45
|
|
46
|
-
property :service_name,
|
46
|
+
property :service_name, String,
|
47
|
+
description: "The name of the service.",
|
48
|
+
name_property: true, identity: true
|
47
49
|
|
48
50
|
# The display name to be used by user interface programs to identify the
|
49
51
|
# service. This string has a maximum length of 256 characters.
|
50
|
-
property :display_name, String, regex: /^.{1,256}
|
52
|
+
property :display_name, String, regex: /^.{1,256}$/,
|
53
|
+
introduced: "14.0"
|
51
54
|
|
52
55
|
# https://github.com/djberg96/win32-service/blob/ffi/lib/win32/windows/constants.rb#L19-L29
|
53
56
|
property :desired_access, Integer, default: SERVICE_ALL_ACCESS
|
@@ -76,27 +79,26 @@ class Chef
|
|
76
79
|
# This only applies if startup_type is :automatic
|
77
80
|
# 1 == delayed start is enabled
|
78
81
|
# 0 == NO delayed start
|
79
|
-
property :delayed_start, [TrueClass, FalseClass],
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
82
|
+
property :delayed_start, [TrueClass, FalseClass],
|
83
|
+
introduced: "14.0",
|
84
|
+
default: false, coerce: proc { |x|
|
85
|
+
if x.is_a?(Integer)
|
86
|
+
x == 0 ? false : true
|
87
|
+
else
|
88
|
+
x
|
89
|
+
end
|
90
|
+
}
|
86
91
|
|
87
92
|
# https://github.com/djberg96/win32-service/blob/ffi/lib/win32/windows/constants.rb#L43-L47
|
88
93
|
property :error_control, Integer, default: SERVICE_ERROR_NORMAL
|
89
94
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
# This is required for :create and :configure actions -- intentionally
|
94
|
-
# not setting required: true here to support other actions
|
95
|
-
property :binary_path_name, String
|
95
|
+
property :binary_path_name, String,
|
96
|
+
introduced: "14.0",
|
97
|
+
description: "The fully qualified path to the service binary file. The path can also include arguments for an auto-start service. This is required for ':create' and ':configure' actions"
|
96
98
|
|
97
|
-
|
98
|
-
|
99
|
-
|
99
|
+
property :load_order_group, String,
|
100
|
+
introduced: "14.0",
|
101
|
+
description: "The names of the load ordering group of which this service is a member. Don't set this property if the service does not belong to a group."
|
100
102
|
|
101
103
|
# A pointer to a double null-terminated array of null-separated names of
|
102
104
|
# services or load ordering groups that the system must start before this
|
@@ -104,9 +106,12 @@ class Chef
|
|
104
106
|
# dependencies. Dependency on a group means that this service can run if
|
105
107
|
# at least one member of the group is running after an attempt to start
|
106
108
|
# all members of the group.
|
107
|
-
property :dependencies, [String, Array]
|
109
|
+
property :dependencies, [String, Array],
|
110
|
+
introduced: "14.0"
|
108
111
|
|
109
|
-
property :description, String
|
112
|
+
property :description, String,
|
113
|
+
description: "Description of the service.",
|
114
|
+
introduced: "14.0"
|
110
115
|
|
111
116
|
property :run_as_user, String, default: "LocalSystem"
|
112
117
|
property :run_as_password, String, default: ""
|