chef 14.4.56 → 14.5.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -1
  3. data/VERSION +1 -1
  4. data/lib/.DS_Store +0 -0
  5. data/lib/chef/.DS_Store +0 -0
  6. data/lib/chef/client.rb +1 -1
  7. data/lib/chef/cookbook_version.rb +2 -2
  8. data/lib/chef/mixin/powershell_out.rb +1 -1
  9. data/lib/chef/node_map.rb +4 -10
  10. data/lib/chef/provider/.DS_Store +0 -0
  11. data/lib/chef/provider/dsc_resource.rb +2 -2
  12. data/lib/chef/provider/dsc_script.rb +4 -4
  13. data/lib/chef/provider/package/powershell.rb +1 -1
  14. data/lib/chef/provider/powershell_script.rb +3 -3
  15. data/lib/chef/provider/script.rb +2 -2
  16. data/lib/chef/resource/apt_package.rb +1 -0
  17. data/lib/chef/resource/apt_repository.rb +1 -1
  18. data/lib/chef/resource/build_essential.rb +38 -38
  19. data/lib/chef/resource/chef_gem.rb +4 -1
  20. data/lib/chef/resource/chocolatey_package.rb +2 -1
  21. data/lib/chef/resource/directory.rb +6 -2
  22. data/lib/chef/resource/dmg_package.rb +1 -4
  23. data/lib/chef/resource/dnf_package.rb +20 -23
  24. data/lib/chef/resource/dpkg_package.rb +1 -3
  25. data/lib/chef/resource/dsc_resource.rb +2 -5
  26. data/lib/chef/resource/dsc_script.rb +1 -8
  27. data/lib/chef/resource/execute.rb +4 -1
  28. data/lib/chef/resource/gem_package.rb +17 -19
  29. data/lib/chef/resource/git.rb +4 -4
  30. data/lib/chef/resource/homebrew_cask.rb +2 -2
  31. data/lib/chef/resource/homebrew_tap.rb +3 -3
  32. data/lib/chef/resource/hostname.rb +4 -4
  33. data/lib/chef/resource/http_request.rb +1 -3
  34. data/lib/chef/resource/ifconfig.rb +1 -1
  35. data/lib/chef/resource/locale.rb +93 -0
  36. data/lib/chef/resource/macos_userdefaults.rb +2 -4
  37. data/lib/chef/resource/macosx_service.rb +2 -3
  38. data/lib/chef/resource/mount.rb +45 -18
  39. data/lib/chef/resource/msu_package.rb +10 -7
  40. data/lib/chef/resource/ohai.rb +2 -4
  41. data/lib/chef/resource/ohai_hint.rb +3 -3
  42. data/lib/chef/resource/openssl_dhparam.rb +5 -5
  43. data/lib/chef/resource/openssl_ec_private_key.rb +5 -5
  44. data/lib/chef/resource/openssl_ec_public_key.rb +5 -5
  45. data/lib/chef/resource/openssl_rsa_private_key.rb +6 -6
  46. data/lib/chef/resource/openssl_rsa_public_key.rb +7 -7
  47. data/lib/chef/resource/openssl_x509_certificate.rb +11 -11
  48. data/lib/chef/resource/openssl_x509_crl.rb +2 -2
  49. data/lib/chef/resource/openssl_x509_request.rb +7 -7
  50. data/lib/chef/resource/osx_profile.rb +13 -8
  51. data/lib/chef/resource/package.rb +26 -8
  52. data/lib/chef/resource/paludis_package.rb +3 -1
  53. data/lib/chef/resource/portage_package.rb +2 -1
  54. data/lib/chef/resource/powershell_package.rb +17 -9
  55. data/lib/chef/resource/powershell_package_source.rb +1 -1
  56. data/lib/chef/resource/reboot.rb +7 -2
  57. data/lib/chef/resource/rhsm_errata_level.rb +1 -3
  58. data/lib/chef/resource/route.rb +1 -1
  59. data/lib/chef/resource/scm.rb +42 -14
  60. data/lib/chef/resource/subversion.rb +7 -0
  61. data/lib/chef/resource/sudo.rb +7 -7
  62. data/lib/chef/resource/swap_file.rb +2 -2
  63. data/lib/chef/resource/sysctl.rb +1 -1
  64. data/lib/chef/resource/systemd_unit.rb +2 -1
  65. data/lib/chef/resource/windows_ad_join.rb +9 -4
  66. data/lib/chef/resource/windows_auto_run.rb +5 -5
  67. data/lib/chef/resource/windows_env.rb +1 -3
  68. data/lib/chef/resource/windows_feature_dism.rb +4 -5
  69. data/lib/chef/resource/windows_font.rb +3 -5
  70. data/lib/chef/resource/windows_package.rb +1 -2
  71. data/lib/chef/resource/windows_printer.rb +7 -9
  72. data/lib/chef/resource/windows_printer_port.rb +1 -1
  73. data/lib/chef/resource/windows_service.rb +26 -21
  74. data/lib/chef/resource/windows_shortcut.rb +4 -4
  75. data/lib/chef/resource/windows_task.rb +82 -36
  76. data/lib/chef/resource/windows_workgroup.rb +101 -0
  77. data/lib/chef/resource/yum_package.rb +30 -20
  78. data/lib/chef/resource/yum_repository.rb +134 -45
  79. data/lib/chef/resource/zypper_package.rb +8 -4
  80. data/lib/chef/resource/zypper_repository.rb +58 -20
  81. data/lib/chef/resource_inspector.rb +5 -3
  82. data/lib/chef/resources.rb +2 -0
  83. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  84. data/lib/chef/version.rb +1 -1
  85. data/spec/functional/resource/dsc_resource_spec.rb +3 -3
  86. data/spec/functional/resource/powershell_script_spec.rb +2 -2
  87. data/spec/functional/win32/crypto_spec.rb +1 -1
  88. data/spec/unit/cookbook_version_file_specificity_spec.rb +20 -0
  89. data/spec/unit/node_map_spec.rb +3 -3
  90. data/spec/unit/platform/query_helpers_spec.rb +4 -4
  91. data/spec/unit/provider/dsc_resource_spec.rb +2 -2
  92. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  93. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  94. data/spec/unit/resource/locale_spec.rb +60 -0
  95. data/spec/unit/resource/scm_spec.rb +0 -10
  96. data/spec/unit/resource/windows_workgroup_spec.rb +47 -0
  97. data/tasks/dependencies.rb +2 -22
  98. data/tasks/templates/prerelease.md.erb +2 -2
  99. data/tasks/templates/release.md.erb +1 -1
  100. metadata +8 -5
  101. data/tasks/cbgb.rb +0 -84
@@ -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, name_property: true, identity: true
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
- property :revision, String, default: "HEAD"
30
- property :user, [String, Integer]
31
- property :group, [String, Integer]
32
- property :svn_username, String
33
- property :svn_password, String, sensitive: true, desired_state: false
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
- property :enable_submodules, [TrueClass, FalseClass], default: false
37
- property :enable_checkout, [TrueClass, FalseClass], default: true
38
- property :remote, String, default: "origin"
39
- property :ssh_wrapper, String, desired_state: false
40
- property :timeout, Integer, desired_state: false
41
- property :checkout_branch, String, default: "deploy"
42
- property :environment, [Hash, nil], default: nil
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}"
@@ -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 config.",
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 running sudo without specifying a password sudo.",
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 config.",
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: "Whether to permit the preserving of environment with sudo -E.",
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 config verification.",
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 containing the sudoers config file.",
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) for the swap file."
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,
@@ -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."
@@ -52,7 +52,8 @@ class Chef
52
52
  default: true, desired_state: false
53
53
  property :unit_name, String, desired_state: false,
54
54
  identity: true,
55
- name_property: true
55
+ name_property: true,
56
+ introduced: "13.7"
56
57
 
57
58
  def to_ini
58
59
  case content
@@ -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 AD domain to join.",
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 to use to join the host to the domain.",
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 OU where you would like to place the host."
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 logon."
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 to be run at login."
36
+ description: "The path to the program that will run at login. "
37
37
 
38
38
  property :args, String,
39
- description: "Any arguments for the program."
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
- declare_resource(:registry_key, registry_path) do
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
- declare_resource(:registry_key, registry_path) do
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 "Using the windows_feature_dism resource to add, remove or"\
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/role(s) to install if it differs from the resource name.",
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: "Use a local repository for the feature install."
37
+ description: "Specify a local repository for the feature install."
39
38
 
40
39
  property :all, [TrueClass, FalseClass],
41
- description: "Install all sub features. This is the equivalent of specifying the /All switch to dism.exe",
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 file name of the font file name to install if different than the resource name.",
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 from.",
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, e.g. 'HP LJ 5200 in fifth floor copy room'.",
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: "Should this be the system's default printer.",
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, e.g. 'Fifth floor copy room'."
49
+ description: "Printer location, such as 'Fifth floor copy room'."
52
50
 
53
51
  property :shared, [TrueClass, FalseClass],
54
- description: "Should the printer be shared.",
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 share the printer as."
56
+ description: "The name used to identify the shared printer."
59
57
 
60
58
  property :ipv4_address, String,
61
- description: "Printer IPv4 address, e.g. '10.4.64.23'.",
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: "Should SNMP be enabled on the port.",
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, name_property: true, identity: true
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], default: false, coerce: proc { |x|
80
- if x.is_a?(Integer)
81
- x == 0 ? false : true
82
- else
83
- x
84
- end
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
- # The fully qualified path to the service binary file. The path can also
91
- # include arguments for an auto-start service.
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
- # The names of the load ordering group of which this service is a member.
98
- # Specify nil or an empty string if the service does not belong to a group.
99
- property :load_order_group, String
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: ""