chef 16.4.41-universal-mingw32 → 16.8.9-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.
Files changed (1107) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -14
  3. data/README.md +1 -1
  4. data/Rakefile +22 -15
  5. data/bin/knife +1 -1
  6. data/chef-universal-mingw32.gemspec +1 -1
  7. data/chef.gemspec +4 -2
  8. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/Ijwhost.dll +0 -0
  11. data/distro/ruby_bin_folder/{Newtonsoft.Json.dll → AMD64/Newtonsoft.Json.dll} +0 -0
  12. data/distro/ruby_bin_folder/AMD64/concrt140.dll +0 -0
  13. data/distro/ruby_bin_folder/AMD64/host/fxr/5.0.0/hostfxr.dll +0 -0
  14. data/distro/ruby_bin_folder/AMD64/msvcp140.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/msvcp140_1.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/msvcp140_2.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/msvcp140_atomic_wait.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/msvcp140_codecvt_ids.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Wrapper.Core.runtimeconfig.json +9 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Markdig.Signed.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.ApplicationInsights.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.dll +0 -0
  29. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.DiaSymReader.Native.amd64.dll +0 -0
  30. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.Unmanaged.dll +0 -0
  31. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.dll +0 -0
  32. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.dll +0 -0
  33. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +2576 -0
  34. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  35. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  36. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  37. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  38. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  39. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  40. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  41. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  42. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  43. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  44. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  45. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  46. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.AccessControl.dll +0 -0
  47. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  48. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.SystemEvents.dll +0 -0
  49. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/NJsonSchema.dll +0 -0
  50. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Namotion.Reflection.dll +0 -0
  51. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  52. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/PowerShell.Core.Instrumentation.dll +0 -0
  53. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  54. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  55. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.CodeDom.dll +0 -0
  56. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  57. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  58. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  59. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  60. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  61. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  62. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  63. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  64. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  65. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  66. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  67. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.ConfigurationManager.dll +0 -0
  68. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  69. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  70. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  71. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  72. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  73. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  74. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  75. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  76. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  77. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  78. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  79. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  80. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  81. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  82. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  83. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  84. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  85. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.DirectoryServices.dll +0 -0
  86. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  87. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  88. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  89. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  90. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  91. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  92. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  93. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  94. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  95. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  96. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  97. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  98. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  99. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  100. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  101. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  102. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  103. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  104. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  105. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  106. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  107. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  108. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  109. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  110. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  111. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  112. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  113. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  114. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.dll +0 -0
  115. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  116. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  117. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  118. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  119. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  120. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  121. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  122. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  123. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  124. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  125. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  126. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  127. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  128. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  129. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  130. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  131. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  132. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  133. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  134. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  135. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  136. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  137. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  138. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  139. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  140. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  141. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  142. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  143. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  144. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  145. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  146. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  147. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  148. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  149. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  150. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  151. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  152. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  153. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  154. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  155. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  156. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  157. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  158. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  159. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  160. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  161. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  162. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  163. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  164. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  165. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  166. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  167. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  168. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  169. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  170. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  171. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  172. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  173. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  174. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  175. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  176. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  177. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  178. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  179. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  180. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Permissions.dll +0 -0
  181. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  182. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  183. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  184. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  185. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  186. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.ServiceController.dll +0 -0
  187. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  188. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  189. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  190. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  191. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  192. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  193. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  194. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.AccessControl.dll +0 -0
  195. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  196. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  197. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  198. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  199. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  200. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  201. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  202. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  203. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  204. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  205. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  206. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  207. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  208. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  209. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  210. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.Extensions.dll +0 -0
  211. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  212. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  213. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  214. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  215. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  216. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  217. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  218. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  219. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  220. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  221. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  222. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  223. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-1-0.dll +0 -0
  224. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-2-0.dll +0 -0
  225. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  226. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-debug-l1-1-0.dll +0 -0
  227. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  228. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-1-0.dll +0 -0
  229. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-2-0.dll +0 -0
  230. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l2-1-0.dll +0 -0
  231. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-handle-l1-1-0.dll +0 -0
  232. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-heap-l1-1-0.dll +0 -0
  233. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  234. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  235. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-localization-l1-2-0.dll +0 -0
  236. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-memory-l1-1-0.dll +0 -0
  237. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  238. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  239. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  240. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  241. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-profile-l1-1-0.dll +0 -0
  242. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  243. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-string-l1-1-0.dll +0 -0
  244. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-1-0.dll +0 -0
  245. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-2-0.dll +0 -0
  246. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  247. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  248. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-util-l1-1-0.dll +0 -0
  249. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  250. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  251. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  252. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  253. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  254. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  255. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-math-l1-1-0.dll +0 -0
  256. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  257. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-private-l1-1-0.dll +0 -0
  258. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-process-l1-1-0.dll +0 -0
  259. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  260. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  261. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-string-l1-1-0.dll +0 -0
  262. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-time-l1-1-0.dll +0 -0
  263. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  264. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  265. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  266. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  267. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  268. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  269. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  270. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  271. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  272. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  273. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  274. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  275. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  276. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  277. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  278. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  279. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  280. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  281. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  282. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  283. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  284. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  285. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  286. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mi.dll +0 -0
  287. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/miutils.dll +0 -0
  288. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  289. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.20.51904.dll +0 -0
  290. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  291. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  292. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  293. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  294. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  295. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  296. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  297. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  298. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pwrshplugin.dll +0 -0
  299. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  300. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  301. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  302. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  303. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ucrtbase.dll +0 -0
  304. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  305. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  306. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  307. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  308. data/distro/ruby_bin_folder/AMD64/vccorlib140.dll +0 -0
  309. data/distro/ruby_bin_folder/AMD64/vcruntime140.dll +0 -0
  310. data/distro/ruby_bin_folder/AMD64/vcruntime140_1.dll +0 -0
  311. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  312. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  313. data/distro/ruby_bin_folder/x86/Ijwhost.dll +0 -0
  314. data/distro/ruby_bin_folder/x86/Newtonsoft.Json.dll +0 -0
  315. data/distro/ruby_bin_folder/x86/concrt140.dll +0 -0
  316. data/distro/ruby_bin_folder/x86/host/fxr/5.0.0/hostfxr.dll +0 -0
  317. data/distro/ruby_bin_folder/x86/msvcp140.dll +0 -0
  318. data/distro/ruby_bin_folder/x86/msvcp140_1.dll +0 -0
  319. data/distro/ruby_bin_folder/x86/msvcp140_2.dll +0 -0
  320. data/distro/ruby_bin_folder/x86/msvcp140_atomic_wait.dll +0 -0
  321. data/distro/ruby_bin_folder/x86/msvcp140_codecvt_ids.dll +0 -0
  322. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/API-MS-Win-core-xstate-l2-1-0.dll +0 -0
  323. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  324. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  325. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  326. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Wrapper.Core.runtimeconfig.json +9 -0
  327. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  328. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Markdig.Signed.dll +0 -0
  329. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.ApplicationInsights.dll +0 -0
  330. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  331. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  332. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.dll +0 -0
  333. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.DiaSymReader.Native.x86.dll +0 -0
  334. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.Unmanaged.dll +0 -0
  335. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.dll +0 -0
  336. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.dll +0 -0
  337. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +2579 -0
  338. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  339. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  340. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  341. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  342. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  343. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  344. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  345. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  346. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  347. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  348. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  349. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  350. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.AccessControl.dll +0 -0
  351. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  352. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.SystemEvents.dll +0 -0
  353. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/NJsonSchema.dll +0 -0
  354. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Namotion.Reflection.dll +0 -0
  355. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  356. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/PowerShell.Core.Instrumentation.dll +0 -0
  357. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  358. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  359. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.CodeDom.dll +0 -0
  360. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  361. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  362. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  363. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  364. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  365. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  366. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  367. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  368. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  369. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  370. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  371. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.ConfigurationManager.dll +0 -0
  372. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  373. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  374. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  375. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  376. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  377. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  378. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  379. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  380. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  381. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  382. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  383. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  384. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  385. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  386. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  387. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  388. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  389. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.DirectoryServices.dll +0 -0
  390. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  391. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  392. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  393. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  394. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  395. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  396. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  397. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  398. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  399. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  400. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  401. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  402. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  403. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  404. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  405. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  406. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  407. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  408. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  409. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  410. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  411. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  412. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  413. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  414. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  415. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  416. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  417. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  418. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.dll +0 -0
  419. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  420. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  421. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  422. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  423. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  424. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  425. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  426. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  427. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  428. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  429. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  430. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  431. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  432. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  433. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  434. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  435. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  436. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  437. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  438. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  439. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  440. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  441. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  442. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  443. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  444. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  445. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  446. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  447. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  448. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  449. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  450. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  451. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  452. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  453. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  454. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  455. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  456. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  457. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  458. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  459. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  460. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  461. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  462. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  463. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  464. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  465. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  466. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  467. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  468. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  469. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  470. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  471. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  472. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  473. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  474. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  475. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  476. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  477. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  478. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  479. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  480. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  481. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  482. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  483. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  484. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Permissions.dll +0 -0
  485. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  486. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  487. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  488. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  489. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  490. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.ServiceController.dll +0 -0
  491. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  492. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  493. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  494. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  495. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  496. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  497. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  498. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.AccessControl.dll +0 -0
  499. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  500. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  501. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  502. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  503. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  504. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  505. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  506. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  507. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  508. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  509. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  510. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  511. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  512. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  513. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  514. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Windows.Extensions.dll +0 -0
  515. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  516. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  517. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  518. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  519. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  520. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  521. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  522. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  523. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  524. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  525. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  526. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  527. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-1-0.dll +0 -0
  528. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-2-0.dll +0 -0
  529. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  530. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-debug-l1-1-0.dll +0 -0
  531. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  532. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-1-0.dll +0 -0
  533. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-2-0.dll +0 -0
  534. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l2-1-0.dll +0 -0
  535. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-handle-l1-1-0.dll +0 -0
  536. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-heap-l1-1-0.dll +0 -0
  537. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  538. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  539. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-localization-l1-2-0.dll +0 -0
  540. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-memory-l1-1-0.dll +0 -0
  541. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  542. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  543. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  544. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  545. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-profile-l1-1-0.dll +0 -0
  546. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  547. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-string-l1-1-0.dll +0 -0
  548. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-1-0.dll +0 -0
  549. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-2-0.dll +0 -0
  550. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  551. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  552. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-util-l1-1-0.dll +0 -0
  553. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  554. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  555. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  556. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  557. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  558. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  559. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-math-l1-1-0.dll +0 -0
  560. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  561. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-private-l1-1-0.dll +0 -0
  562. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-process-l1-1-0.dll +0 -0
  563. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  564. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  565. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-string-l1-1-0.dll +0 -0
  566. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-time-l1-1-0.dll +0 -0
  567. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  568. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  569. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  570. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  571. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  572. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  573. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  574. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  575. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  576. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  577. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  578. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  579. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  580. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  581. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  582. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  583. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  584. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  585. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  586. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  587. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  588. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  589. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  590. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mi.dll +0 -0
  591. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/miutils.dll +0 -0
  592. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  593. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_x86_x86_5.0.20.51904.dll +0 -0
  594. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  595. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  596. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  597. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  598. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  599. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  600. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  601. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  602. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pwrshplugin.dll +0 -0
  603. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  604. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  605. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  606. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  607. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ucrtbase.dll +0 -0
  608. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  609. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  610. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  611. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  612. data/distro/ruby_bin_folder/x86/vccorlib140.dll +0 -0
  613. data/distro/ruby_bin_folder/x86/vcruntime140.dll +0 -0
  614. data/distro/templates/powershell/chef/chef.psm1.erb +18 -18
  615. data/ext/win32-eventlog/Rakefile +2 -2
  616. data/ext/win32-eventlog/chef-log.man.erb +4 -4
  617. data/lib/chef/application.rb +19 -17
  618. data/lib/chef/application/apply.rb +12 -7
  619. data/lib/chef/application/base.rb +27 -24
  620. data/lib/chef/application/client.rb +16 -5
  621. data/lib/chef/application/exit_code.rb +13 -4
  622. data/lib/chef/application/knife.rb +22 -11
  623. data/lib/chef/application/solo.rb +2 -1
  624. data/lib/chef/application/windows_service.rb +14 -14
  625. data/lib/chef/application/windows_service_manager.rb +6 -6
  626. data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
  627. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +1 -1
  628. data/lib/chef/chef_fs/file_pattern.rb +1 -1
  629. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  630. data/lib/chef/chef_fs/knife.rb +2 -2
  631. data/lib/chef/chef_fs/parallelizer.rb +0 -1
  632. data/lib/chef/client.rb +16 -43
  633. data/lib/chef/compliance/default_attributes.rb +89 -0
  634. data/lib/chef/compliance/fetcher/automate.rb +69 -0
  635. data/lib/chef/compliance/fetcher/chef_server.rb +134 -0
  636. data/lib/chef/compliance/reporter/automate.rb +202 -0
  637. data/lib/chef/compliance/reporter/chef_server_automate.rb +92 -0
  638. data/lib/chef/compliance/reporter/compliance_enforcer.rb +20 -0
  639. data/lib/chef/compliance/reporter/json_file.rb +19 -0
  640. data/lib/chef/compliance/runner.rb +250 -0
  641. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  642. data/lib/chef/cookbook/gem_installer.rb +1 -1
  643. data/lib/chef/cookbook/synchronizer.rb +2 -2
  644. data/lib/chef/cookbook_manifest.rb +2 -1
  645. data/lib/chef/cookbook_site_streaming_uploader.rb +13 -11
  646. data/lib/chef/cookbook_uploader.rb +1 -1
  647. data/lib/chef/cookbook_version.rb +2 -5
  648. data/lib/chef/data_collector.rb +7 -6
  649. data/lib/chef/data_collector/config_validation.rb +22 -13
  650. data/lib/chef/data_collector/run_end_message.rb +2 -2
  651. data/lib/chef/data_collector/run_start_message.rb +1 -1
  652. data/lib/chef/deprecated.rb +1 -1
  653. data/lib/chef/deprecation/warnings.rb +2 -2
  654. data/lib/chef/digester.rb +2 -2
  655. data/lib/chef/dsl/chef_vault.rb +1 -1
  656. data/lib/chef/dsl/data_query.rb +2 -2
  657. data/lib/chef/dsl/platform_introspection.rb +1 -1
  658. data/lib/chef/encrypted_data_bag_item.rb +3 -4
  659. data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
  660. data/lib/chef/encrypted_data_bag_item/decryptor.rb +3 -3
  661. data/lib/chef/encrypted_data_bag_item/encryptor.rb +3 -3
  662. data/lib/chef/environment.rb +3 -3
  663. data/lib/chef/event_loggers/windows_eventlog.rb +2 -2
  664. data/lib/chef/exceptions.rb +9 -5
  665. data/lib/chef/file_access_control/windows.rb +6 -5
  666. data/lib/chef/file_content_management/tempfile.rb +1 -1
  667. data/lib/chef/formatters/doc.rb +7 -6
  668. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +6 -5
  669. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +2 -2
  670. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
  671. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +9 -9
  672. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +6 -6
  673. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +3 -3
  674. data/lib/chef/formatters/indentable_output_stream.rb +2 -2
  675. data/lib/chef/formatters/minimal.rb +5 -4
  676. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +28 -39
  677. data/lib/chef/http.rb +6 -14
  678. data/lib/chef/http/auth_credentials.rb +5 -1
  679. data/lib/chef/http/authenticator.rb +1 -1
  680. data/lib/chef/http/basic_client.rb +4 -2
  681. data/lib/chef/http/decompressor.rb +1 -1
  682. data/lib/chef/http/http_request.rb +7 -5
  683. data/lib/chef/http/socketless_chef_zero_client.rb +5 -2
  684. data/lib/chef/http/ssl_policies.rb +7 -1
  685. data/lib/chef/json_compat.rb +3 -8
  686. data/lib/chef/key.rb +1 -1
  687. data/lib/chef/knife.rb +4 -4
  688. data/lib/chef/knife/bootstrap.rb +18 -15
  689. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  690. data/lib/chef/knife/bootstrap/templates/chef-full.erb +3 -3
  691. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +9 -9
  692. data/lib/chef/knife/bootstrap/train_connector.rb +1 -1
  693. data/lib/chef/knife/client_create.rb +3 -3
  694. data/lib/chef/knife/config_get.rb +8 -97
  695. data/lib/chef/knife/config_get_profile.rb +9 -9
  696. data/lib/chef/knife/config_list.rb +139 -0
  697. data/lib/chef/knife/config_list_profiles.rb +8 -98
  698. data/lib/chef/knife/config_show.rb +127 -0
  699. data/lib/chef/knife/config_use.rb +61 -0
  700. data/lib/chef/knife/config_use_profile.rb +9 -24
  701. data/lib/chef/knife/configure.rb +2 -2
  702. data/lib/chef/knife/core/bootstrap_context.rb +2 -2
  703. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  704. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  705. data/lib/chef/knife/core/object_loader.rb +1 -1
  706. data/lib/chef/knife/core/ui.rb +5 -2
  707. data/lib/chef/knife/core/windows_bootstrap_context.rb +18 -15
  708. data/lib/chef/knife/exec.rb +2 -2
  709. data/lib/chef/knife/node_policy_set.rb +2 -2
  710. data/lib/chef/knife/node_run_list_add.rb +1 -1
  711. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  712. data/lib/chef/knife/node_run_list_set.rb +1 -1
  713. data/lib/chef/knife/node_show.rb +2 -2
  714. data/lib/chef/knife/role_env_run_list_add.rb +1 -1
  715. data/lib/chef/knife/role_env_run_list_set.rb +1 -1
  716. data/lib/chef/knife/role_run_list_add.rb +1 -1
  717. data/lib/chef/knife/role_run_list_set.rb +1 -1
  718. data/lib/chef/knife/search.rb +0 -1
  719. data/lib/chef/knife/serve.rb +3 -3
  720. data/lib/chef/knife/ssh.rb +19 -4
  721. data/lib/chef/knife/ssl_check.rb +3 -3
  722. data/lib/chef/knife/status.rb +2 -2
  723. data/lib/chef/knife/tag_create.rb +1 -1
  724. data/lib/chef/knife/tag_delete.rb +1 -1
  725. data/lib/chef/knife/user_create.rb +2 -2
  726. data/lib/chef/knife/yaml_convert.rb +1 -1
  727. data/lib/chef/local_mode.rb +2 -2
  728. data/lib/chef/log/syslog.rb +2 -2
  729. data/lib/chef/log/winevt.rb +2 -2
  730. data/lib/chef/mixin/convert_to_class_name.rb +0 -56
  731. data/lib/chef/mixin/deep_merge.rb +0 -12
  732. data/lib/chef/mixin/openssl_helper.rb +2 -5
  733. data/lib/chef/mixin/powershell_exec.rb +24 -10
  734. data/lib/chef/mixin/powershell_out.rb +12 -5
  735. data/lib/chef/mixin/properties.rb +2 -0
  736. data/lib/chef/mixin/template.rb +3 -3
  737. data/lib/chef/mixin/unformatter.rb +1 -1
  738. data/lib/chef/mixin/uris.rb +4 -2
  739. data/lib/chef/mixin/versioned_api.rb +1 -2
  740. data/lib/chef/node/attribute_collections.rb +2 -6
  741. data/lib/chef/node/mixin/immutablize_hash.rb +2 -0
  742. data/lib/chef/node_map.rb +4 -4
  743. data/lib/chef/platform/query_helpers.rb +4 -4
  744. data/lib/chef/policy_builder/dynamic.rb +2 -0
  745. data/lib/chef/policy_builder/policyfile.rb +2 -2
  746. data/lib/chef/powershell.rb +10 -4
  747. data/lib/chef/property.rb +1 -1
  748. data/lib/chef/provider.rb +1 -5
  749. data/lib/chef/provider/cron.rb +2 -13
  750. data/lib/chef/provider/dsc_resource.rb +12 -24
  751. data/lib/chef/provider/dsc_script.rb +16 -20
  752. data/lib/chef/provider/file.rb +2 -2
  753. data/lib/chef/provider/git.rb +5 -5
  754. data/lib/chef/provider/group.rb +14 -6
  755. data/lib/chef/provider/group/windows.rb +12 -1
  756. data/lib/chef/provider/ifconfig.rb +9 -9
  757. data/lib/chef/provider/ifconfig/debian.rb +38 -22
  758. data/lib/chef/provider/ifconfig/redhat.rb +54 -18
  759. data/lib/chef/provider/launchd.rb +3 -13
  760. data/lib/chef/provider/link.rb +0 -9
  761. data/lib/chef/provider/mount.rb +18 -1
  762. data/lib/chef/provider/mount/linux.rb +67 -0
  763. data/lib/chef/provider/mount/mount.rb +41 -43
  764. data/lib/chef/provider/package.rb +3 -0
  765. data/lib/chef/provider/package/apt.rb +1 -1
  766. data/lib/chef/provider/package/chocolatey.rb +6 -6
  767. data/lib/chef/provider/package/dpkg.rb +3 -12
  768. data/lib/chef/provider/package/freebsd/base.rb +3 -2
  769. data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
  770. data/lib/chef/provider/package/homebrew.rb +1 -1
  771. data/lib/chef/provider/package/ips.rb +1 -1
  772. data/lib/chef/provider/package/powershell.rb +2 -3
  773. data/lib/chef/provider/package/rubygems.rb +22 -19
  774. data/lib/chef/provider/package/snap.rb +1 -4
  775. data/lib/chef/provider/package/solaris.rb +0 -2
  776. data/lib/chef/provider/package/windows.rb +2 -2
  777. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +3 -1
  778. data/lib/chef/provider/package/yum/rpm_utils.rb +1 -1
  779. data/lib/chef/provider/package/zypper.rb +99 -72
  780. data/lib/chef/provider/powershell_script.rb +12 -1
  781. data/lib/chef/provider/registry_key.rb +4 -3
  782. data/lib/chef/provider/remote_file/content.rb +3 -0
  783. data/lib/chef/provider/remote_file/ftp.rb +6 -4
  784. data/lib/chef/provider/remote_file/sftp.rb +6 -4
  785. data/lib/chef/provider/route.rb +4 -8
  786. data/lib/chef/provider/service/debian.rb +2 -1
  787. data/lib/chef/provider/service/macosx.rb +2 -2
  788. data/lib/chef/provider/service/redhat.rb +1 -1
  789. data/lib/chef/provider/template_finder.rb +2 -10
  790. data/lib/chef/provider/user.rb +17 -9
  791. data/lib/chef/provider/user/aix.rb +1 -1
  792. data/lib/chef/provider/user/dscl.rb +5 -5
  793. data/lib/chef/provider/user/mac.rb +15 -7
  794. data/lib/chef/provider/user/solaris.rb +1 -1
  795. data/lib/chef/provider/user/windows.rb +10 -3
  796. data/lib/chef/provider/zypper_repository.rb +2 -2
  797. data/lib/chef/provider_resolver.rb +1 -1
  798. data/lib/chef/providers.rb +1 -3
  799. data/lib/chef/pwsh.rb +71 -0
  800. data/lib/chef/recipe.rb +2 -2
  801. data/lib/chef/resource.rb +2 -2
  802. data/lib/chef/resource/apt_repository.rb +6 -5
  803. data/lib/chef/resource/bash.rb +119 -1
  804. data/lib/chef/resource/batch.rb +1 -1
  805. data/lib/chef/resource/bff_package.rb +22 -0
  806. data/lib/chef/resource/breakpoint.rb +59 -2
  807. data/lib/chef/resource/build_essential.rb +5 -8
  808. data/lib/chef/resource/cab_package.rb +29 -0
  809. data/lib/chef/resource/chef_client_config.rb +313 -0
  810. data/lib/chef/resource/chef_client_cron.rb +35 -28
  811. data/lib/chef/resource/chef_client_launchd.rb +194 -0
  812. data/lib/chef/resource/chef_client_scheduled_task.rb +24 -21
  813. data/lib/chef/resource/chef_client_systemd_timer.rb +27 -20
  814. data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
  815. data/lib/chef/resource/chef_gem.rb +10 -10
  816. data/lib/chef/resource/chef_handler.rb +149 -4
  817. data/lib/chef/resource/chef_sleep.rb +3 -3
  818. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  819. data/lib/chef/resource/cookbook_file.rb +2 -2
  820. data/lib/chef/resource/cron/_cron_shared.rb +1 -0
  821. data/lib/chef/resource/cron/cron_d.rb +2 -3
  822. data/lib/chef/resource/csh.rb +2 -2
  823. data/lib/chef/resource/dnf_package.rb +2 -2
  824. data/lib/chef/resource/dsc_resource.rb +0 -1
  825. data/lib/chef/resource/dsc_script.rb +9 -2
  826. data/lib/chef/resource/execute.rb +10 -8
  827. data/lib/chef/resource/file.rb +4 -4
  828. data/lib/chef/resource/gem_package.rb +5 -5
  829. data/lib/chef/resource/homebrew_package.rb +3 -3
  830. data/lib/chef/resource/homebrew_update.rb +9 -6
  831. data/lib/chef/resource/hostname.rb +7 -7
  832. data/lib/chef/resource/ifconfig.rb +52 -5
  833. data/lib/chef/resource/kernel_module.rb +1 -1
  834. data/lib/chef/resource/ksh.rb +3 -3
  835. data/lib/chef/resource/launchd.rb +17 -16
  836. data/lib/chef/resource/locale.rb +2 -2
  837. data/lib/chef/resource/lwrp_base.rb +3 -5
  838. data/lib/chef/resource/macos_userdefaults.rb +3 -3
  839. data/lib/chef/resource/mount.rb +8 -2
  840. data/lib/chef/resource/notify_group.rb +0 -1
  841. data/lib/chef/resource/ohai.rb +46 -3
  842. data/lib/chef/resource/ohai_hint.rb +33 -0
  843. data/lib/chef/resource/openssl_dhparam.rb +27 -5
  844. data/lib/chef/resource/openssl_ec_private_key.rb +6 -3
  845. data/lib/chef/resource/openssl_ec_public_key.rb +2 -2
  846. data/lib/chef/resource/openssl_rsa_private_key.rb +6 -3
  847. data/lib/chef/resource/openssl_x509_certificate.rb +14 -14
  848. data/lib/chef/resource/openssl_x509_crl.rb +19 -10
  849. data/lib/chef/resource/openssl_x509_request.rb +14 -16
  850. data/lib/chef/resource/osx_profile.rb +77 -13
  851. data/lib/chef/resource/perl.rb +2 -2
  852. data/lib/chef/resource/plist.rb +3 -7
  853. data/lib/chef/resource/powershell_package_source.rb +24 -23
  854. data/lib/chef/resource/powershell_script.rb +14 -11
  855. data/lib/chef/resource/python.rb +2 -2
  856. data/lib/chef/resource/reboot.rb +2 -2
  857. data/lib/chef/resource/registry_key.rb +93 -2
  858. data/lib/chef/resource/remote_file.rb +3 -3
  859. data/lib/chef/resource/rhsm_register.rb +22 -10
  860. data/lib/chef/resource/route.rb +1 -1
  861. data/lib/chef/resource/ruby.rb +2 -2
  862. data/lib/chef/resource/ruby_block.rb +2 -2
  863. data/lib/chef/resource/scm/_scm.rb +2 -1
  864. data/lib/chef/resource/scm/git.rb +82 -1
  865. data/lib/chef/resource/scm/subversion.rb +14 -2
  866. data/lib/chef/resource/script.rb +2 -2
  867. data/lib/chef/resource/service.rb +3 -3
  868. data/lib/chef/resource/solaris_package.rb +0 -2
  869. data/lib/chef/resource/ssh_known_hosts_entry.rb +2 -2
  870. data/lib/chef/resource/sudo.rb +1 -1
  871. data/lib/chef/resource/support/client.erb +64 -0
  872. data/lib/chef/resource/support/cron.d.erb +1 -1
  873. data/lib/chef/resource/support/cron_access.erb +1 -1
  874. data/lib/chef/resource/support/sudoer.erb +1 -1
  875. data/lib/chef/resource/support/ulimit.erb +1 -1
  876. data/lib/chef/resource/sysctl.rb +1 -5
  877. data/lib/chef/resource/systemd_unit.rb +44 -3
  878. data/lib/chef/resource/template.rb +4 -4
  879. data/lib/chef/resource/windows_ad_join.rb +19 -12
  880. data/lib/chef/resource/windows_audit_policy.rb +26 -24
  881. data/lib/chef/resource/windows_certificate.rb +19 -11
  882. data/lib/chef/resource/windows_dfs_server.rb +7 -4
  883. data/lib/chef/resource/windows_env.rb +173 -0
  884. data/lib/chef/resource/windows_feature.rb +2 -0
  885. data/lib/chef/resource/windows_firewall_profile.rb +28 -31
  886. data/lib/chef/resource/windows_firewall_rule.rb +9 -11
  887. data/lib/chef/resource/windows_font.rb +1 -1
  888. data/lib/chef/resource/windows_package.rb +29 -5
  889. data/lib/chef/resource/windows_path.rb +38 -0
  890. data/lib/chef/resource/windows_printer.rb +5 -3
  891. data/lib/chef/resource/windows_printer_port.rb +6 -4
  892. data/lib/chef/resource/windows_security_policy.rb +5 -5
  893. data/lib/chef/resource/windows_service.rb +108 -0
  894. data/lib/chef/resource/windows_share.rb +18 -18
  895. data/lib/chef/resource/windows_task.rb +629 -28
  896. data/lib/chef/resource/windows_user_privilege.rb +53 -54
  897. data/lib/chef/resource/windows_workgroup.rb +9 -7
  898. data/lib/chef/resource/yum_package.rb +2 -2
  899. data/lib/chef/resource/yum_repository.rb +1 -1
  900. data/lib/chef/resource_collection/resource_set.rb +2 -6
  901. data/lib/chef/resource_inspector.rb +77 -75
  902. data/lib/chef/resource_reporter.rb +0 -2
  903. data/lib/chef/resources.rb +4 -1
  904. data/lib/chef/run_context.rb +2 -2
  905. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  906. data/lib/chef/run_lock.rb +3 -3
  907. data/lib/chef/search/query.rb +6 -5
  908. data/lib/chef/server_api.rb +0 -4
  909. data/lib/chef/shell.rb +31 -26
  910. data/lib/chef/shell/ext.rb +12 -12
  911. data/lib/chef/shell/shell_session.rb +2 -2
  912. data/lib/chef/train_transport.rb +5 -104
  913. data/lib/chef/util/backup.rb +1 -1
  914. data/lib/chef/util/diff.rb +3 -3
  915. data/lib/chef/util/dsc/configuration_generator.rb +52 -11
  916. data/lib/chef/util/dsc/lcm_output_parser.rb +4 -7
  917. data/lib/chef/util/dsc/local_configuration_manager.rb +18 -15
  918. data/lib/chef/util/dsc/resource_store.rb +5 -11
  919. data/lib/chef/util/powershell/ps_credential.rb +18 -14
  920. data/lib/chef/util/threaded_job_queue.rb +0 -2
  921. data/lib/chef/version.rb +1 -1
  922. data/lib/chef/win32/api/file.rb +4 -0
  923. data/lib/chef/win32/crypto.rb +1 -1
  924. data/lib/chef/win32/file.rb +1 -1
  925. data/lib/chef/win32/registry.rb +1 -2
  926. data/lib/chef/win32/security/sid.rb +1 -1
  927. data/lib/chef/win32/unicode.rb +1 -1
  928. data/spec/data/shef-config.rb +1 -1
  929. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -5
  930. data/spec/functional/mixin/powershell_out_spec.rb +11 -3
  931. data/spec/functional/resource/aix_service_spec.rb +2 -2
  932. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  933. data/spec/functional/resource/apt_package_spec.rb +4 -6
  934. data/spec/functional/resource/chocolatey_package_spec.rb +3 -3
  935. data/spec/functional/resource/cron_spec.rb +3 -3
  936. data/spec/functional/resource/dsc_script_spec.rb +6 -9
  937. data/spec/functional/resource/insserv_spec.rb +1 -1
  938. data/spec/functional/resource/mount_spec.rb +10 -2
  939. data/spec/functional/resource/powershell_package_source_spec.rb +107 -0
  940. data/spec/functional/resource/powershell_script_spec.rb +57 -14
  941. data/spec/functional/resource/user/dscl_spec.rb +1 -1
  942. data/spec/functional/resource/user/mac_user_spec.rb +1 -1
  943. data/spec/functional/resource/windows_certificate_spec.rb +10 -6
  944. data/spec/functional/resource/windows_firewall_rule_spec.rb +93 -0
  945. data/spec/functional/resource/windows_package_spec.rb +36 -10
  946. data/spec/functional/resource/windows_share_spec.rb +103 -0
  947. data/spec/functional/resource/windows_task_spec.rb +15 -16
  948. data/spec/functional/resource/zypper_package_spec.rb +11 -0
  949. data/spec/functional/version_spec.rb +3 -3
  950. data/spec/integration/client/client_spec.rb +6 -5
  951. data/spec/integration/client/exit_code_spec.rb +3 -2
  952. data/spec/integration/client/ipv6_spec.rb +1 -1
  953. data/spec/integration/compliance/compliance_spec.rb +81 -0
  954. data/spec/integration/knife/client_key_create_spec.rb +1 -1
  955. data/spec/integration/knife/{config_list_profiles_spec.rb → config_list_spec.rb} +30 -29
  956. data/spec/integration/knife/{config_get_spec.rb → config_show_spec.rb} +3 -3
  957. data/spec/integration/knife/{config_use_profile_spec.rb → config_use_spec.rb} +53 -10
  958. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  959. data/spec/integration/knife/node_create_spec.rb +1 -1
  960. data/spec/integration/knife/node_environment_set_spec.rb +1 -1
  961. data/spec/integration/knife/node_run_list_add_spec.rb +4 -4
  962. data/spec/integration/knife/node_run_list_remove_spec.rb +1 -1
  963. data/spec/integration/knife/node_run_list_set_spec.rb +1 -1
  964. data/spec/integration/knife/node_show_spec.rb +1 -1
  965. data/spec/integration/ohai/ohai_spec.rb +61 -0
  966. data/spec/integration/recipes/notifies_spec.rb +1 -1
  967. data/spec/integration/recipes/provider_choice.rb +2 -2
  968. data/spec/integration/recipes/recipe_dsl_spec.rb +1 -0
  969. data/spec/integration/recipes/remote_directory.rb +1 -1
  970. data/spec/integration/solo/solo_spec.rb +5 -5
  971. data/spec/spec_helper.rb +9 -7
  972. data/spec/stress/win32/file_spec.rb +1 -1
  973. data/spec/support/chef_helpers.rb +2 -2
  974. data/spec/support/lib/chef/resource/cat.rb +1 -1
  975. data/spec/support/lib/chef/resource/one_two_three_four.rb +1 -1
  976. data/spec/support/matchers/leak.rb +2 -2
  977. data/spec/support/mock/platform.rb +24 -16
  978. data/spec/support/platform_helpers.rb +27 -38
  979. data/spec/support/shared/functional/securable_resource.rb +108 -27
  980. data/spec/support/shared/functional/win32_service.rb +1 -1
  981. data/spec/support/shared/unit/application_dot_d.rb +5 -3
  982. data/spec/support/shared/unit/knife_shared.rb +1 -1
  983. data/spec/support/shared/unit/script_resource.rb +4 -4
  984. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  985. data/spec/tiny_server.rb +0 -1
  986. data/spec/unit/application/client_spec.rb +2 -2
  987. data/spec/unit/application/exit_code_spec.rb +10 -0
  988. data/spec/unit/application_spec.rb +4 -6
  989. data/spec/unit/chef_fs/config_spec.rb +1 -1
  990. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  991. data/spec/unit/chef_fs/parallelizer_spec.rb +5 -1
  992. data/spec/unit/chef_fs/path_util_spec.rb +1 -1
  993. data/spec/unit/client_spec.rb +17 -0
  994. data/spec/unit/compliance/fetcher/automate_spec.rb +134 -0
  995. data/spec/unit/compliance/fetcher/chef_server_spec.rb +93 -0
  996. data/spec/unit/compliance/reporter/automate_spec.rb +427 -0
  997. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +177 -0
  998. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +48 -0
  999. data/spec/unit/compliance/runner_spec.rb +113 -0
  1000. data/spec/unit/cookbook/synchronizer_spec.rb +2 -2
  1001. data/spec/unit/cookbook_spec.rb +2 -2
  1002. data/spec/unit/data_collector/config_validation_spec.rb +208 -0
  1003. data/spec/unit/data_collector_spec.rb +0 -117
  1004. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  1005. data/spec/unit/file_access_control_spec.rb +1 -1
  1006. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +11 -11
  1007. data/spec/unit/http/ssl_policies_spec.rb +11 -0
  1008. data/spec/unit/knife/bootstrap_spec.rb +6 -6
  1009. data/spec/unit/knife/client_create_spec.rb +2 -2
  1010. data/spec/unit/knife/configure_client_spec.rb +5 -5
  1011. data/spec/unit/knife/configure_spec.rb +3 -3
  1012. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  1013. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  1014. data/spec/unit/knife/cookbook_list_spec.rb +2 -2
  1015. data/spec/unit/knife/cookbook_metadata_spec.rb +3 -3
  1016. data/spec/unit/knife/core/node_editor_spec.rb +1 -1
  1017. data/spec/unit/knife/core/ui_spec.rb +1 -0
  1018. data/spec/unit/knife/environment_compare_spec.rb +3 -3
  1019. data/spec/unit/knife/ssh_spec.rb +2 -2
  1020. data/spec/unit/knife/supermarket_download_spec.rb +8 -8
  1021. data/spec/unit/knife/supermarket_list_spec.rb +3 -3
  1022. data/spec/unit/knife/supermarket_search_spec.rb +1 -1
  1023. data/spec/unit/knife/tag_create_spec.rb +1 -1
  1024. data/spec/unit/knife/tag_delete_spec.rb +1 -1
  1025. data/spec/unit/knife/user_create_spec.rb +1 -1
  1026. data/spec/unit/lwrp_spec.rb +3 -3
  1027. data/spec/unit/mixin/deep_merge_spec.rb +15 -0
  1028. data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
  1029. data/spec/unit/mixin/powershell_exec_spec.rb +40 -3
  1030. data/spec/unit/mixin/powershell_out_spec.rb +14 -0
  1031. data/spec/unit/mixin/securable_spec.rb +2 -2
  1032. data/spec/unit/mixin/which.rb +1 -1
  1033. data/spec/unit/node/immutable_collections_spec.rb +2 -2
  1034. data/spec/unit/platform/query_helpers_spec.rb +11 -12
  1035. data/spec/unit/provider/dsc_resource_spec.rb +10 -27
  1036. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  1037. data/spec/unit/provider/group/windows_spec.rb +6 -0
  1038. data/spec/unit/provider/group_spec.rb +1 -1
  1039. data/spec/unit/provider/mount/linux_spec.rb +107 -0
  1040. data/spec/unit/provider/mount/mount_spec.rb +21 -10
  1041. data/spec/unit/provider/mount/solaris_spec.rb +1 -1
  1042. data/spec/unit/provider/mount/windows_spec.rb +1 -0
  1043. data/spec/unit/provider/mount_spec.rb +31 -0
  1044. data/spec/unit/provider/package/chocolatey_spec.rb +2 -3
  1045. data/spec/unit/provider/package/powershell_spec.rb +88 -96
  1046. data/spec/unit/provider/package/rubygems_spec.rb +4 -1
  1047. data/spec/unit/provider/package/zypper_spec.rb +0 -25
  1048. data/spec/unit/provider/package_spec.rb +2 -2
  1049. data/spec/unit/provider/powershell_script_spec.rb +11 -0
  1050. data/spec/unit/provider/route_spec.rb +0 -2
  1051. data/spec/unit/provider/subversion_spec.rb +0 -3
  1052. data/spec/unit/provider/systemd_unit_spec.rb +1 -1
  1053. data/spec/unit/provider/user_spec.rb +7 -1
  1054. data/spec/unit/provider/windows_env_spec.rb +18 -34
  1055. data/spec/unit/provider/windows_path_spec.rb +6 -11
  1056. data/spec/unit/provider/windows_task_spec.rb +7 -6
  1057. data/spec/unit/recipe_spec.rb +1 -1
  1058. data/spec/unit/resource/breakpoint_spec.rb +1 -1
  1059. data/spec/unit/resource/build_essential_spec.rb +0 -12
  1060. data/spec/unit/resource/chef_client_config_spec.rb +137 -0
  1061. data/spec/unit/resource/chef_client_cron_spec.rb +35 -14
  1062. data/spec/unit/resource/chef_client_launchd_spec.rb +127 -0
  1063. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +36 -1
  1064. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +54 -0
  1065. data/spec/unit/resource/ifconfig_spec.rb +2 -10
  1066. data/spec/unit/resource/launchd_spec.rb +8 -0
  1067. data/spec/unit/resource/mount_spec.rb +18 -5
  1068. data/spec/unit/resource/osx_profile_spec.rb +67 -1
  1069. data/spec/unit/resource/powershell_package_source_spec.rb +20 -20
  1070. data/spec/unit/resource/powershell_script_spec.rb +4 -74
  1071. data/spec/unit/resource/rhsm_register_spec.rb +56 -18
  1072. data/spec/unit/resource/service_spec.rb +2 -2
  1073. data/spec/unit/resource/solaris_package_spec.rb +8 -10
  1074. data/spec/unit/resource/windows_certificate_spec.rb +12 -0
  1075. data/spec/unit/resource/windows_uac_spec.rb +1 -1
  1076. data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
  1077. data/spec/unit/resource_inspector_spec.rb +3 -3
  1078. data/spec/unit/run_lock_spec.rb +5 -1
  1079. data/spec/unit/runner_spec.rb +1 -2
  1080. data/spec/unit/shell/shell_ext_spec.rb +46 -3
  1081. data/spec/unit/shell/shell_session_spec.rb +35 -64
  1082. data/spec/unit/shell_spec.rb +18 -21
  1083. data/spec/unit/train_transport_spec.rb +14 -13
  1084. data/spec/unit/util/dsc/configuration_generator_spec.rb +79 -0
  1085. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +27 -35
  1086. data/spec/unit/util/selinux_spec.rb +2 -0
  1087. data/tasks/rspec.rb +1 -3
  1088. metadata +688 -40
  1089. data/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll +0 -0
  1090. data/distro/ruby_bin_folder/Chef.PowerShell.dll +0 -0
  1091. data/distro/ruby_bin_folder/msvcp140.dll +0 -0
  1092. data/distro/ruby_bin_folder/vcruntime140.dll +0 -0
  1093. data/lib/chef/dist.rb +0 -68
  1094. data/lib/chef/monkey_patches/net_http.rb +0 -22
  1095. data/lib/chef/provider/windows_env.rb +0 -210
  1096. data/lib/chef/provider/windows_path.rb +0 -61
  1097. data/lib/chef/provider/windows_task.rb +0 -632
  1098. data/lib/chef/util/powershell/cmdlet.rb +0 -173
  1099. data/lib/chef/util/powershell/cmdlet_result.rb +0 -61
  1100. data/spec/functional/util/powershell/cmdlet_spec.rb +0 -111
  1101. data/spec/integration/knife/config_get_profile_spec.rb +0 -114
  1102. data/spec/support/mock/constant.rb +0 -52
  1103. data/spec/unit/monkey_patches/uri_spec.rb +0 -34
  1104. data/spec/unit/provider_resolver_spec.rb +0 -885
  1105. data/spec/unit/resource/data/InstallHistory_with_CLT.plist +0 -92
  1106. data/spec/unit/resource/data/InstallHistory_without_CLT.plist +0 -38
  1107. data/spec/unit/util/powershell/cmdlet_spec.rb +0 -106
@@ -16,11 +16,15 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require_relative "../mixin/windows_env_helper" if ChefUtils.windows?
20
+ require_relative "../mixin/wide_string"
19
21
  require_relative "../resource"
20
22
 
21
23
  class Chef
22
24
  class Resource
23
25
  class WindowsPath < Chef::Resource
26
+ unified_mode true
27
+
24
28
  provides(:windows_path) { true }
25
29
 
26
30
  description "Use the **windows_path** resource to manage the path environment variable on Microsoft Windows."
@@ -49,6 +53,40 @@ class Chef
49
53
  property :path, String,
50
54
  description: "An optional property to set the path value if it differs from the resource block's name.",
51
55
  name_property: true
56
+
57
+ action_class do
58
+ include Chef::Mixin::WindowsEnvHelper if ChefUtils.windows?
59
+
60
+ def load_current_resource
61
+ @current_resource = Chef::Resource::WindowsPath.new(new_resource.name)
62
+ @current_resource.path(new_resource.path)
63
+ @current_resource
64
+ end
65
+ end
66
+
67
+ action :add do
68
+ # The windows Env provider does not correctly expand variables in
69
+ # the PATH environment variable. Ruby expects these to be expanded.
70
+ #
71
+ path = expand_path(new_resource.path)
72
+ env "path" do
73
+ action :modify
74
+ delim ::File::PATH_SEPARATOR
75
+ value path.tr("/", '\\')
76
+ end
77
+ end
78
+
79
+ action :remove do
80
+ # The windows Env provider does not correctly expand variables in
81
+ # the PATH environment variable. Ruby expects these to be expanded.
82
+ #
83
+ path = expand_path(new_resource.path)
84
+ env "path" do
85
+ action :delete
86
+ delim ::File::PATH_SEPARATOR
87
+ value path.tr("/", '\\')
88
+ end
89
+ end
52
90
  end
53
91
  end
54
92
  end
@@ -24,7 +24,7 @@ class Chef
24
24
  class WindowsPrinter < Chef::Resource
25
25
  unified_mode true
26
26
 
27
- require "resolv"
27
+ autoload :Resolv, "resolv"
28
28
 
29
29
  provides(:windows_printer) { true }
30
30
 
@@ -78,8 +78,10 @@ class Chef
78
78
 
79
79
  property :ipv4_address, String,
80
80
  description: "The IPv4 address of the printer, such as `10.4.64.23`",
81
- validation_message: "The ipv4_address property must be in the IPv4 format of `WWW.XXX.YYY.ZZZ`",
82
- regex: Resolv::IPv4::Regex
81
+ callbacks: {
82
+ "The ipv4_address property must be in the IPv4 format of `WWW.XXX.YYY.ZZZ`" =>
83
+ proc { |v| v.match(Resolv::IPv4::Regex) },
84
+ }
83
85
 
84
86
  PRINTERS_REG_KEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\'.freeze unless defined?(PRINTERS_REG_KEY)
85
87
 
@@ -24,7 +24,7 @@ class Chef
24
24
  class WindowsPrinterPort < Chef::Resource
25
25
  unified_mode true
26
26
 
27
- require "resolv"
27
+ autoload :Resolv, "resolv"
28
28
 
29
29
  provides(:windows_printer_port) { true }
30
30
 
@@ -61,9 +61,11 @@ class Chef
61
61
 
62
62
  property :ipv4_address, String,
63
63
  name_property: true,
64
- regex: Resolv::IPv4::Regex,
65
- validation_message: "The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!",
66
- description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name."
64
+ description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name.",
65
+ callbacks: {
66
+ "The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!" =>
67
+ proc { |v| v.match(Resolv::IPv4::Regex) },
68
+ }
67
69
 
68
70
  property :port_name, String,
69
71
  description: "The port name."
@@ -106,11 +106,11 @@ class Chef
106
106
  MinimumPasswordAge = $security_options_hash.MinimumPasswordAge
107
107
  NewGuestName = $security_options_hash.NewGuestName
108
108
  LockoutBadCount = $security_options_hash.LockoutBadCount
109
- }) | ConvertTo-Json
109
+ })
110
110
  CODE
111
- output = powershell_out(powershell_code)
112
- current_value_does_not_exist! if output.stdout.empty?
113
- state = Chef::JSONCompat.from_json(output.stdout)
111
+ output = powershell_exec(powershell_code)
112
+ current_value_does_not_exist! if output.result.empty?
113
+ state = output.result
114
114
 
115
115
  if desired.secoption == "ResetLockoutCount" || desired.secoption == "LockoutDuration"
116
116
  if state["LockoutBadCount"] == "0"
@@ -144,7 +144,7 @@ class Chef
144
144
  Remove-Item $env:TEMP\\#{security_option}_Export.inf -force
145
145
  EOH
146
146
 
147
- powershell_out!(cmd)
147
+ powershell_exec!(cmd)
148
148
  end
149
149
  end
150
150
  end
@@ -23,6 +23,7 @@ class Chef
23
23
  class Resource
24
24
  class WindowsService < Chef::Resource::Service
25
25
  include Chef::Win32ServiceConstants
26
+ unified_mode true
26
27
 
27
28
  ALLOWED_START_TYPES = {
28
29
  automatic: SERVICE_AUTO_START,
@@ -38,6 +39,113 @@ class Chef
38
39
 
39
40
  description "Use the **windows_service** resource to create, delete, or manage a service on the Microsoft Windows platform."
40
41
  introduced "12.0"
42
+ examples <<~DOC
43
+ **Starting Services**
44
+
45
+ Start a service with a `manual` startup type:
46
+
47
+ ```ruby
48
+ windows_service 'BITS' do
49
+ action :configure_startup
50
+ startup_type :manual
51
+ end
52
+ ```
53
+
54
+ **Creating Services**
55
+
56
+ Create a service named chef-client:
57
+
58
+ ```ruby
59
+ windows_service 'chef-client' do
60
+ action :create
61
+ binary_path_name "C:\\opscode\\chef\\bin"
62
+ end
63
+ ```
64
+
65
+ Create a service with `service_name` and `display_name`:
66
+
67
+ ```ruby
68
+ windows_service 'Setup chef-client as a service' do
69
+ action :create
70
+ display_name 'CHEF-CLIENT'
71
+ service_name 'chef-client'
72
+ binary_path_name "C:\\opscode\\chef\\bin"
73
+ end
74
+ ```
75
+
76
+ Create a service with the `manual` startup type:
77
+
78
+ ```ruby
79
+ windows_service 'chef-client' do
80
+ action :create
81
+ binary_path_name "C:\\opscode\\chef\\bin"
82
+ startup_type :manual
83
+ end
84
+ ```
85
+
86
+ Create a service with the `disabled` startup type:
87
+
88
+ ```ruby
89
+ windows_service 'chef-client' do
90
+ action :create
91
+ binary_path_name "C:\\opscode\\chef\\bin"
92
+ startup_type :disabled
93
+ end
94
+ ```
95
+
96
+ Create a service with the `automatic` startup type and delayed start enabled:
97
+
98
+ ```ruby
99
+ windows_service 'chef-client' do
100
+ action :create
101
+ binary_path_name "C:\\opscode\\chef\\bin"
102
+ startup_type :automatic
103
+ delayed_start true
104
+ end
105
+ ```
106
+
107
+ Create a service with a description:
108
+
109
+ ```ruby
110
+ windows_service 'chef-client' do
111
+ action :create
112
+ binary_path_name "C:\\opscode\\chef\\bin"
113
+ startup_type :automatic
114
+ description "Chef client as service"
115
+ end
116
+ ```
117
+
118
+ **Deleting Services**
119
+
120
+ Delete a service named chef-client:
121
+
122
+ ```ruby
123
+ windows_service 'chef-client' do
124
+ action :delete
125
+ end
126
+ ```
127
+
128
+ Delete a service with the `service_name` property:
129
+
130
+ ```ruby
131
+ windows_service 'Delete chef client' do
132
+ action :delete
133
+ service_name 'chef-client'
134
+ end
135
+ ```
136
+
137
+ **Configuring Services**
138
+
139
+ Change an existing service from automatic to manual startup:
140
+
141
+ ```ruby
142
+ windows_service 'chef-client' do
143
+ action :configure
144
+ binary_path_name "C:\\opscode\\chef\\bin"
145
+ startup_type :manual
146
+ end
147
+ ```
148
+ DOC
41
149
 
42
150
  allowed_actions :configure_startup, :create, :delete, :configure
43
151
 
@@ -20,7 +20,6 @@
20
20
  #
21
21
 
22
22
  require_relative "../resource"
23
- require_relative "../json_compat"
24
23
  require_relative "../util/path_helper"
25
24
 
26
25
  class Chef
@@ -123,19 +122,19 @@ class Chef
123
122
  # this command selects individual objects because EncryptData & CachingMode have underlying
124
123
  # types that get converted to their Integer values by ConvertTo-Json & we need to make sure
125
124
  # those get written out as strings
126
- share_state_cmd = "Get-SmbShare -Name '#{desired.share_name}' | Select-Object Name,Path, Description, Temporary, CATimeout, ContinuouslyAvailable, ConcurrentUserLimit, EncryptData | ConvertTo-Json -Compress"
125
+ share_state_cmd = "Get-SmbShare -Name '#{desired.share_name}' | Select-Object Name,Path, Description, Temporary, CATimeout, ContinuouslyAvailable, ConcurrentUserLimit, EncryptData"
127
126
 
128
127
  Chef::Log.debug("Running '#{share_state_cmd}' to determine share state'")
129
- ps_results = powershell_out(share_state_cmd)
128
+ ps_results = powershell_exec(share_state_cmd)
130
129
 
131
130
  # detect a failure without raising and then set current_resource to nil
132
131
  if ps_results.error?
133
- Chef::Log.debug("Error fetching share state: #{ps_results.stderr}")
132
+ Chef::Log.debug("Error fetching share state: #{ps_results.errors}")
134
133
  current_value_does_not_exist!
135
134
  end
136
135
 
137
- Chef::Log.debug("The Get-SmbShare results were #{ps_results.stdout}")
138
- results = Chef::JSONCompat.from_json(ps_results.stdout)
136
+ Chef::Log.debug("The Get-SmbShare results were #{ps_results.result}")
137
+ results = ps_results.result
139
138
 
140
139
  path results["Path"]
141
140
  description results["Description"]
@@ -147,18 +146,18 @@ class Chef
147
146
  encrypt_data results["EncryptData"]
148
147
  # folder_enumeration_mode results['FolderEnumerationMode']
149
148
 
150
- perm_state_cmd = %{Get-SmbShareAccess -Name "#{desired.share_name}" | Select-Object AccountName,AccessControlType,AccessRight | ConvertTo-Json -Compress}
149
+ perm_state_cmd = %{Get-SmbShareAccess -Name "#{desired.share_name}" | Select-Object AccountName,AccessControlType,AccessRight}
151
150
 
152
151
  Chef::Log.debug("Running '#{perm_state_cmd}' to determine share permissions state'")
153
- ps_perm_results = powershell_out(perm_state_cmd)
152
+ ps_perm_results = powershell_exec(perm_state_cmd)
154
153
 
155
154
  # we raise here instead of warning like above because we'd only get here if the above Get-SmbShare
156
155
  # command was successful and that continuing would leave us with 1/2 known state
157
156
  raise "Could not determine #{desired.share_name} share permissions by running '#{perm_state_cmd}'" if ps_perm_results.error?
158
157
 
159
- Chef::Log.debug("The Get-SmbShareAccess results were #{ps_perm_results.stdout}")
158
+ Chef::Log.debug("The Get-SmbShareAccess results were #{ps_perm_results.result}")
160
159
 
161
- f_users, c_users, r_users = parse_permissions(ps_perm_results.stdout)
160
+ f_users, c_users, r_users = parse_permissions(ps_perm_results.result)
162
161
 
163
162
  full_users f_users
164
163
  change_users c_users
@@ -167,8 +166,7 @@ class Chef
167
166
 
168
167
  # given the string output of Get-SmbShareAccess parse out
169
168
  # arrays of full access users, change users, and read only users
170
- def parse_permissions(results_string)
171
- json_results = Chef::JSONCompat.from_json(results_string)
169
+ def parse_permissions(json_results)
172
170
  json_results = [json_results] unless json_results.is_a?(Array) # single result is not an array
173
171
 
174
172
  f_users = []
@@ -246,14 +244,16 @@ class Chef
246
244
  delete_command = "Remove-SmbShare -Name '#{new_resource.share_name}' -Force"
247
245
 
248
246
  Chef::Log.debug("Running '#{delete_command}' to remove the share")
249
- powershell_out!(delete_command)
247
+ powershell_exec!(delete_command)
250
248
  end
251
249
 
252
250
  def update_share
253
- update_command = "Set-SmbShare -Name '#{new_resource.share_name}' -Description '#{new_resource.description}' -Force"
251
+ update_command = "Set-SmbShare -Name '#{new_resource.share_name}' -Description '#{new_resource.description}' -ConcurrentUserLimit #{new_resource.concurrent_user_limit} -CATimeout #{new_resource.ca_timeout} -EncryptData:#{bool_string(new_resource.encrypt_data)} -ContinuouslyAvailable:#{bool_string(new_resource.continuously_available)} -Force"
252
+ update_command << " -ScopeName #{new_resource.scope_name}" unless new_resource.scope_name == "*" # passing * causes the command to fail
253
+ update_command << " -Temporary:#{bool_string(new_resource.temporary)}" if new_resource.temporary # only set true
254
254
 
255
255
  Chef::Log.debug("Running '#{update_command}' to update the share")
256
- powershell_out!(update_command)
256
+ powershell_exec!(update_command)
257
257
  end
258
258
 
259
259
  def create_share
@@ -264,7 +264,7 @@ class Chef
264
264
  share_cmd << " -Temporary:#{bool_string(new_resource.temporary)}" if new_resource.temporary # only set true
265
265
 
266
266
  Chef::Log.debug("Running '#{share_cmd}' to create the share")
267
- powershell_out!(share_cmd)
267
+ powershell_exec!(share_cmd)
268
268
 
269
269
  # New-SmbShare adds the "Everyone" user with read access no matter what so we need to remove it
270
270
  # before we add our permissions
@@ -299,7 +299,7 @@ class Chef
299
299
  grant_command = "Grant-SmbShareAccess -Name '#{new_resource.share_name}' -AccountName \"#{new_resource.send("#{perm_type}_users").join('","')}\" -Force -AccessRight #{perm_type}"
300
300
 
301
301
  Chef::Log.debug("Running '#{grant_command}' to update the share permissions")
302
- powershell_out!(grant_command)
302
+ powershell_exec!(grant_command)
303
303
  end
304
304
  end
305
305
 
@@ -330,7 +330,7 @@ class Chef
330
330
  def revoke_user_permissions(users)
331
331
  revoke_command = "Revoke-SmbShareAccess -Name '#{new_resource.share_name}' -AccountName \"#{users.join('","')}\" -Force"
332
332
  Chef::Log.debug("Running '#{revoke_command}' to revoke share permissions")
333
- powershell_out!(revoke_command)
333
+ powershell_exec!(revoke_command)
334
334
  end
335
335
 
336
336
  # convert True/False into "$True" & "$False"
@@ -16,12 +16,18 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require "chef-utils" unless defined?(ChefUtils::CANARY)
19
20
  require_relative "../resource"
20
- require_relative "../win32/security" if Chef::Platform.windows?
21
+ require_relative "../win32/security" if ChefUtils.windows_ruby?
22
+ autoload :ISO8601, "iso8601" if ChefUtils.windows_ruby?
23
+ require_relative "../util/path_helper"
24
+ require "win32/taskscheduler" if ChefUtils.windows_ruby?
21
25
 
22
26
  class Chef
23
27
  class Resource
24
28
  class WindowsTask < Chef::Resource
29
+ unified_mode true
30
+
25
31
  provides(:windows_task) { true }
26
32
 
27
33
  description "Use the **windows_task** resource to create, delete or run a Windows scheduled task."
@@ -69,7 +75,7 @@ class Chef
69
75
  command 'chef-client'
70
76
  run_level :highest
71
77
  frequency :once
72
- start_time "16:10"
78
+ start_time '16:10'
73
79
  end
74
80
  ```
75
81
 
@@ -109,6 +115,7 @@ class Chef
109
115
  ```
110
116
 
111
117
  **Create a scheduled task to run when computer is idle with idle duration 20 min**:
118
+
112
119
  ```ruby
113
120
  windows_task 'chef-client' do
114
121
  command 'chef-client'
@@ -144,8 +151,8 @@ class Chef
144
151
  default_action :create
145
152
 
146
153
  property :task_name, String, regex: [%r{\A[^/\:\*\?\<\>\|]+\z}],
147
- description: "An optional property to set the task name if it differs from the resource block's name. Example: `Task Name` or `/Task Name`",
148
- name_property: true
154
+ description: "An optional property to set the task name if it differs from the resource block's name. Example: `Task Name` or `/Task Name`",
155
+ name_property: true
149
156
 
150
157
  property :command, String,
151
158
  description: "The command to be executed by the windows scheduled task."
@@ -155,15 +162,15 @@ class Chef
155
162
 
156
163
  property :user, String,
157
164
  description: "The user to run the task as.",
158
- default: lazy { Chef::ReservedNames::Win32::Security::SID.LocalSystem.account_simple_name if Chef::Platform.windows? },
165
+ default: lazy { Chef::ReservedNames::Win32::Security::SID.LocalSystem.account_simple_name if ChefUtils.windows_ruby? },
159
166
  default_description: "The localized SYSTEM user for the node."
160
167
 
161
168
  property :password, String,
162
169
  description: "The user's password. The user property must be set if using this property."
163
170
 
164
171
  property :run_level, Symbol, equal_to: %i{highest limited},
165
- description: "Run with `:limited` or `:highest` privileges.",
166
- default: :limited
172
+ description: "Run with `:limited` or `:highest` privileges.",
173
+ default: :limited
167
174
 
168
175
  property :force, [TrueClass, FalseClass],
169
176
  description: "When used with create, will update the task.",
@@ -176,17 +183,8 @@ class Chef
176
183
  property :frequency_modifier, [Integer, String],
177
184
  default: 1
178
185
 
179
- property :frequency, Symbol, equal_to: %i{minute
180
- hourly
181
- daily
182
- weekly
183
- monthly
184
- once
185
- on_logon
186
- onstart
187
- on_idle
188
- none},
189
- description: "The frequency with which to run the task."
186
+ property :frequency, Symbol, equal_to: %i{minute hourly daily weekly monthly once on_logon onstart on_idle none},
187
+ description: "The frequency with which to run the task."
190
188
 
191
189
  property :start_day, String,
192
190
  description: "Specifies the first date on which the task runs in **MM/DD/YYYY** format.",
@@ -383,16 +381,16 @@ class Chef
383
381
  frequency_modifier = frequency_modifier.to_i
384
382
  min = 1
385
383
  max = case frequency
386
- when :minute
387
- 1439
388
- when :hourly
389
- 23
390
- when :daily
391
- 365
392
- when :weekly
393
- 52
394
- else
395
- min
384
+ when :minute
385
+ 1439
386
+ when :hourly
387
+ 23
388
+ when :daily
389
+ 365
390
+ when :weekly
391
+ 52
392
+ else
393
+ min
396
394
  end
397
395
  unless frequency_modifier.between?(min, max)
398
396
  raise ArgumentError, "frequency_modifier value #{frequency_modifier} is invalid. Valid values for :#{frequency} frequency are #{min} - #{max}."
@@ -464,6 +462,609 @@ class Chef
464
462
  def sec_to_min(seconds)
465
463
  seconds.to_i / 60
466
464
  end
465
+
466
+ action_class do
467
+ if ChefUtils.windows_ruby?
468
+ include ::Win32
469
+
470
+ MONTHS = {
471
+ JAN: ::Win32::TaskScheduler::JANUARY,
472
+ FEB: ::Win32::TaskScheduler::FEBRUARY,
473
+ MAR: ::Win32::TaskScheduler::MARCH,
474
+ APR: ::Win32::TaskScheduler::APRIL,
475
+ MAY: ::Win32::TaskScheduler::MAY,
476
+ JUN: ::Win32::TaskScheduler::JUNE,
477
+ JUL: ::Win32::TaskScheduler::JULY,
478
+ AUG: ::Win32::TaskScheduler::AUGUST,
479
+ SEP: ::Win32::TaskScheduler::SEPTEMBER,
480
+ OCT: ::Win32::TaskScheduler::OCTOBER,
481
+ NOV: ::Win32::TaskScheduler::NOVEMBER,
482
+ DEC: ::Win32::TaskScheduler::DECEMBER,
483
+ }.freeze
484
+
485
+ DAYS_OF_WEEK = { MON: ::Win32::TaskScheduler::MONDAY,
486
+ TUE: ::Win32::TaskScheduler::TUESDAY,
487
+ WED: ::Win32::TaskScheduler::WEDNESDAY,
488
+ THU: ::Win32::TaskScheduler::THURSDAY,
489
+ FRI: ::Win32::TaskScheduler::FRIDAY,
490
+ SAT: ::Win32::TaskScheduler::SATURDAY,
491
+ SUN: ::Win32::TaskScheduler::SUNDAY }.freeze
492
+
493
+ WEEKS_OF_MONTH = {
494
+ FIRST: ::Win32::TaskScheduler::FIRST_WEEK,
495
+ SECOND: ::Win32::TaskScheduler::SECOND_WEEK,
496
+ THIRD: ::Win32::TaskScheduler::THIRD_WEEK,
497
+ FOURTH: ::Win32::TaskScheduler::FOURTH_WEEK,
498
+ }.freeze
499
+
500
+ DAYS_OF_MONTH = {
501
+ 1 => ::Win32::TaskScheduler::TASK_FIRST,
502
+ 2 => ::Win32::TaskScheduler::TASK_SECOND,
503
+ 3 => ::Win32::TaskScheduler::TASK_THIRD,
504
+ 4 => ::Win32::TaskScheduler::TASK_FOURTH,
505
+ 5 => ::Win32::TaskScheduler::TASK_FIFTH,
506
+ 6 => ::Win32::TaskScheduler::TASK_SIXTH,
507
+ 7 => ::Win32::TaskScheduler::TASK_SEVENTH,
508
+ 8 => ::Win32::TaskScheduler::TASK_EIGHTH,
509
+ # cspell:disable-next-line
510
+ 9 => ::Win32::TaskScheduler::TASK_NINETH,
511
+ 10 => ::Win32::TaskScheduler::TASK_TENTH,
512
+ 11 => ::Win32::TaskScheduler::TASK_ELEVENTH,
513
+ 12 => ::Win32::TaskScheduler::TASK_TWELFTH,
514
+ 13 => ::Win32::TaskScheduler::TASK_THIRTEENTH,
515
+ 14 => ::Win32::TaskScheduler::TASK_FOURTEENTH,
516
+ 15 => ::Win32::TaskScheduler::TASK_FIFTEENTH,
517
+ 16 => ::Win32::TaskScheduler::TASK_SIXTEENTH,
518
+ 17 => ::Win32::TaskScheduler::TASK_SEVENTEENTH,
519
+ 18 => ::Win32::TaskScheduler::TASK_EIGHTEENTH,
520
+ 19 => ::Win32::TaskScheduler::TASK_NINETEENTH,
521
+ 20 => ::Win32::TaskScheduler::TASK_TWENTIETH,
522
+ 21 => ::Win32::TaskScheduler::TASK_TWENTY_FIRST,
523
+ 22 => ::Win32::TaskScheduler::TASK_TWENTY_SECOND,
524
+ 23 => ::Win32::TaskScheduler::TASK_TWENTY_THIRD,
525
+ 24 => ::Win32::TaskScheduler::TASK_TWENTY_FOURTH,
526
+ 25 => ::Win32::TaskScheduler::TASK_TWENTY_FIFTH,
527
+ 26 => ::Win32::TaskScheduler::TASK_TWENTY_SIXTH,
528
+ 27 => ::Win32::TaskScheduler::TASK_TWENTY_SEVENTH,
529
+ 28 => ::Win32::TaskScheduler::TASK_TWENTY_EIGHTH,
530
+ 29 => ::Win32::TaskScheduler::TASK_TWENTY_NINTH,
531
+ # cspell:disable-next-line
532
+ 30 => ::Win32::TaskScheduler::TASK_THIRTYETH,
533
+ 31 => ::Win32::TaskScheduler::TASK_THIRTY_FIRST,
534
+ }.freeze
535
+
536
+ PRIORITY = { "critical" => 0, "highest" => 1, "above_normal_2" => 2 , "above_normal_3" => 3, "normal_4" => 4,
537
+ "normal_5" => 5, "normal_6" => 6, "below_normal_7" => 7, "below_normal_8" => 8, "lowest" => 9, "idle" => 10 }.freeze
538
+ end
539
+
540
+ def load_current_resource
541
+ @current_resource = Chef::Resource::WindowsTask.new(new_resource.name)
542
+ task = ::Win32::TaskScheduler.new(new_resource.task_name, nil, "\\", false)
543
+ @current_resource.exists = task.exists?(new_resource.task_name)
544
+ if @current_resource.exists
545
+ task.get_task(new_resource.task_name)
546
+ @current_resource.task = task
547
+ pathed_task_name = new_resource.task_name.start_with?('\\') ? new_resource.task_name : "\\#{new_resource.task_name}"
548
+ @current_resource.task_name(pathed_task_name)
549
+ end
550
+ @current_resource
551
+ end
552
+
553
+ # separated command arguments from :command property
554
+ def set_command_and_arguments
555
+ cmd, *args = Chef::Util::PathHelper.split_args(new_resource.command)
556
+ new_resource.command = cmd
557
+ new_resource.command_arguments = args.join(" ")
558
+ end
559
+
560
+ def set_start_day_and_time
561
+ new_resource.start_day = Time.now.strftime("%m/%d/%Y") unless new_resource.start_day
562
+ new_resource.start_time = Time.now.strftime("%H:%M") unless new_resource.start_time
563
+ end
564
+
565
+ def update_task(task)
566
+ converge_by("#{new_resource} task updated") do
567
+ task.set_account_information(new_resource.user, new_resource.password, new_resource.interactive_enabled)
568
+ task.application_name = new_resource.command if new_resource.command
569
+ task.parameters = new_resource.command_arguments if new_resource.command_arguments
570
+ task.working_directory = new_resource.cwd if new_resource.cwd
571
+ task.trigger = trigger unless new_resource.frequency == :none
572
+ task.configure_settings(config_settings)
573
+ task.creator = new_resource.user
574
+ task.description = new_resource.description unless new_resource.description.nil?
575
+ task.configure_principals(principal_settings)
576
+ end
577
+ end
578
+
579
+ def trigger
580
+ start_month, start_day, start_year = new_resource.start_day.to_s.split("/")
581
+ start_hour, start_minute = new_resource.start_time.to_s.split(":")
582
+ # TODO currently end_month, end_year and end_year needs to be set to 0. If not set win32-taskscheduler throwing nil into integer error.
583
+ trigger_hash = {
584
+ start_year: start_year.to_i,
585
+ start_month: start_month.to_i,
586
+ start_day: start_day.to_i,
587
+ start_hour: start_hour.to_i,
588
+ start_minute: start_minute.to_i,
589
+ end_month: 0,
590
+ end_day: 0,
591
+ end_year: 0,
592
+ trigger_type: trigger_type,
593
+ type: type,
594
+ random_minutes_interval: new_resource.random_delay,
595
+ }
596
+
597
+ if new_resource.frequency == :minute
598
+ trigger_hash[:minutes_interval] = new_resource.frequency_modifier
599
+ end
600
+
601
+ if new_resource.frequency == :hourly
602
+ minutes = convert_hours_in_minutes(new_resource.frequency_modifier.to_i)
603
+ trigger_hash[:minutes_interval] = minutes
604
+ end
605
+
606
+ if new_resource.minutes_interval
607
+ trigger_hash[:minutes_interval] = new_resource.minutes_interval
608
+ end
609
+
610
+ if new_resource.minutes_duration
611
+ trigger_hash[:minutes_duration] = new_resource.minutes_duration
612
+ end
613
+
614
+ if trigger_type == ::Win32::TaskScheduler::MONTHLYDOW && frequency_modifier_contains_last_week?(new_resource.frequency_modifier)
615
+ trigger_hash[:run_on_last_week_of_month] = true
616
+ else
617
+ trigger_hash[:run_on_last_week_of_month] = false
618
+ end
619
+
620
+ if trigger_type == ::Win32::TaskScheduler::MONTHLYDATE && day_includes_last_or_lastday?(new_resource.day)
621
+ trigger_hash[:run_on_last_day_of_month] = true
622
+ else
623
+ trigger_hash[:run_on_last_day_of_month] = false
624
+ end
625
+ trigger_hash
626
+ end
627
+
628
+ def frequency_modifier_contains_last_week?(frequency_modifier)
629
+ frequency_modifier = frequency_modifier.to_s.split(",")
630
+ frequency_modifier.map! { |value| value.strip.upcase }
631
+ frequency_modifier.include?("LAST")
632
+ end
633
+
634
+ def day_includes_last_or_lastday?(day)
635
+ day = day.to_s.split(",")
636
+ day.map! { |value| value.strip.upcase }
637
+ day.include?("LAST") || day.include?("LASTDAY")
638
+ end
639
+
640
+ def convert_hours_in_minutes(hours)
641
+ hours.to_i * 60 if hours
642
+ end
643
+
644
+ # TODO : Try to optimize this method
645
+ # known issue : Since start_day and time is not mandatory while updating weekly frequency for which start_day is not mentioned by user idempotency
646
+ # is not getting maintained as new_resource.start_day is nil and we fetch the day of week from start_day to set and its currently coming as nil and don't match with current_task
647
+ def task_needs_update?(task)
648
+ flag = false
649
+ if new_resource.frequency == :none
650
+ flag = (task.author != new_resource.user ||
651
+ task.application_name != new_resource.command ||
652
+ description_needs_update?(task) ||
653
+ task.parameters != new_resource.command_arguments.to_s ||
654
+ task.principals[:run_level] != run_level ||
655
+ task.settings[:disallow_start_if_on_batteries] != new_resource.disallow_start_if_on_batteries ||
656
+ task.settings[:stop_if_going_on_batteries] != new_resource.stop_if_going_on_batteries ||
657
+ task.settings[:start_when_available] != new_resource.start_when_available)
658
+ else
659
+ current_task_trigger = task.trigger(0)
660
+ new_task_trigger = trigger
661
+ flag = (ISO8601::Duration.new(task.idle_settings[:idle_duration])) != (ISO8601::Duration.new(new_resource.idle_time * 60)) if new_resource.frequency == :on_idle
662
+ flag = (ISO8601::Duration.new(task.execution_time_limit)) != (ISO8601::Duration.new(new_resource.execution_time_limit * 60)) unless new_resource.execution_time_limit.nil?
663
+
664
+ # if trigger not found updating the task to add the trigger
665
+ if current_task_trigger.nil?
666
+ flag = true
667
+ else
668
+ flag = true if start_day_updated?(current_task_trigger, new_task_trigger) == true ||
669
+ start_time_updated?(current_task_trigger, new_task_trigger) == true ||
670
+ current_task_trigger[:trigger_type] != new_task_trigger[:trigger_type] ||
671
+ current_task_trigger[:type] != new_task_trigger[:type] ||
672
+ current_task_trigger[:random_minutes_interval].to_i != new_task_trigger[:random_minutes_interval].to_i ||
673
+ current_task_trigger[:minutes_interval].to_i != new_task_trigger[:minutes_interval].to_i ||
674
+ task.author.to_s.casecmp(new_resource.user.to_s) != 0 ||
675
+ task.application_name != new_resource.command ||
676
+ description_needs_update?(task) ||
677
+ task.parameters != new_resource.command_arguments.to_s ||
678
+ task.working_directory != new_resource.cwd.to_s ||
679
+ task.principals[:logon_type] != logon_type ||
680
+ task.principals[:run_level] != run_level ||
681
+ PRIORITY[task.priority] != new_resource.priority ||
682
+ task.settings[:disallow_start_if_on_batteries] != new_resource.disallow_start_if_on_batteries ||
683
+ task.settings[:stop_if_going_on_batteries] != new_resource.stop_if_going_on_batteries ||
684
+ task.settings[:start_when_available] != new_resource.start_when_available
685
+ if trigger_type == ::Win32::TaskScheduler::MONTHLYDATE
686
+ flag = true if current_task_trigger[:run_on_last_day_of_month] != new_task_trigger[:run_on_last_day_of_month]
687
+ end
688
+
689
+ if trigger_type == ::Win32::TaskScheduler::MONTHLYDOW
690
+ flag = true if current_task_trigger[:run_on_last_week_of_month] != new_task_trigger[:run_on_last_week_of_month]
691
+ end
692
+ end
693
+ end
694
+ flag
695
+ end
696
+
697
+ def start_day_updated?(current_task_trigger, new_task_trigger)
698
+ ( new_resource.start_day && (current_task_trigger[:start_year].to_i != new_task_trigger[:start_year] ||
699
+ current_task_trigger[:start_month].to_i != new_task_trigger[:start_month] ||
700
+ current_task_trigger[:start_day].to_i != new_task_trigger[:start_day]) )
701
+ end
702
+
703
+ def start_time_updated?(current_task_trigger, new_task_trigger)
704
+ ( new_resource.start_time && ( current_task_trigger[:start_hour].to_i != new_task_trigger[:start_hour] ||
705
+ current_task_trigger[:start_minute].to_i != new_task_trigger[:start_minute] ) )
706
+ end
707
+
708
+ def trigger_type
709
+ case new_resource.frequency
710
+ when :once, :minute, :hourly
711
+ ::Win32::TaskScheduler::ONCE
712
+ when :daily
713
+ ::Win32::TaskScheduler::DAILY
714
+ when :weekly
715
+ ::Win32::TaskScheduler::WEEKLY
716
+ when :monthly
717
+ # If frequency modifier is set with frequency :monthly we are setting taskscheduler as monthlydow
718
+ # Ref https://msdn.microsoft.com/en-us/library/windows/desktop/aa382061(v=vs.85).aspx
719
+ new_resource.frequency_modifier.to_i.between?(1, 12) ? ::Win32::TaskScheduler::MONTHLYDATE : ::Win32::TaskScheduler::MONTHLYDOW
720
+ when :on_idle
721
+ ::Win32::TaskScheduler::ON_IDLE
722
+ when :onstart
723
+ ::Win32::TaskScheduler::AT_SYSTEMSTART
724
+ when :on_logon
725
+ ::Win32::TaskScheduler::AT_LOGON
726
+ else
727
+ raise ArgumentError, "Please set frequency"
728
+ end
729
+ end
730
+
731
+ def type
732
+ case trigger_type
733
+ when ::Win32::TaskScheduler::ONCE
734
+ { once: nil }
735
+ when ::Win32::TaskScheduler::DAILY
736
+ { days_interval: new_resource.frequency_modifier.to_i }
737
+ when ::Win32::TaskScheduler::WEEKLY
738
+ { weeks_interval: new_resource.frequency_modifier.to_i, days_of_week: days_of_week.to_i }
739
+ when ::Win32::TaskScheduler::MONTHLYDATE
740
+ { months: months_of_year.to_i, days: days_of_month.to_i }
741
+ when ::Win32::TaskScheduler::MONTHLYDOW
742
+ { months: months_of_year.to_i, days_of_week: days_of_week.to_i, weeks_of_month: weeks_of_month.to_i }
743
+ when ::Win32::TaskScheduler::ON_IDLE
744
+ # TODO: handle option for this trigger
745
+ when ::Win32::TaskScheduler::AT_LOGON
746
+ # TODO: handle option for this trigger
747
+ when ::Win32::TaskScheduler::AT_SYSTEMSTART
748
+ # TODO: handle option for this trigger
749
+ end
750
+ end
751
+
752
+ # Deleting last from the array of weeks of month since last week is handled in :run_on_last_week_of_month parameter.
753
+ def weeks_of_month
754
+ weeks_of_month = []
755
+ if new_resource.frequency_modifier
756
+ weeks = new_resource.frequency_modifier.split(",")
757
+ weeks.map! { |week| week.to_s.strip.upcase }
758
+ weeks.delete("LAST") if weeks.include?("LAST")
759
+ weeks_of_month = get_binary_values_from_constants(weeks, WEEKS_OF_MONTH)
760
+ end
761
+ weeks_of_month
762
+ end
763
+
764
+ # Deleting the "LAST" and "LASTDAY" from days since last day is handled in :run_on_last_day_of_month parameter.
765
+ def days_of_month
766
+ days_of_month = []
767
+ if new_resource.day
768
+ days = new_resource.day.to_s.split(",")
769
+ days.map! { |day| day.to_s.strip.upcase }
770
+ days.delete("LAST") if days.include?("LAST")
771
+ days.delete("LASTDAY") if days.include?("LASTDAY")
772
+ if days - (1..31).to_a
773
+ days.each do |day|
774
+ days_of_month << DAYS_OF_MONTH[day.to_i]
775
+ end
776
+ days_of_month = days_of_month.size > 1 ? days_of_month.inject(:|) : days_of_month[0]
777
+ end
778
+ else
779
+ days_of_month = DAYS_OF_MONTH[1]
780
+ end
781
+ days_of_month
782
+ end
783
+
784
+ def days_of_week
785
+ if new_resource.day
786
+ # this line of code is just to support backward compatibility of wild card *
787
+ new_resource.day = "mon, tue, wed, thu, fri, sat, sun" if new_resource.day == "*" && new_resource.frequency == :weekly
788
+ days = new_resource.day.to_s.split(",")
789
+ days.map! { |day| day.to_s.strip.upcase }
790
+ weeks_days = get_binary_values_from_constants(days, DAYS_OF_WEEK)
791
+ else
792
+ # following condition will make the frequency :weekly idempotent if start_day is not provided by user setting day as the current_resource day
793
+ if (current_resource) && (current_resource.task) && (current_resource.task.trigger(0)[:type][:days_of_week]) && (new_resource.start_day.nil?)
794
+ weeks_days = current_resource.task.trigger(0)[:type][:days_of_week]
795
+ else
796
+ day = get_day(new_resource.start_day).to_sym if new_resource.start_day
797
+ DAYS_OF_WEEK[day]
798
+ end
799
+ end
800
+ end
801
+
802
+ def months_of_year
803
+ months_of_year = []
804
+ if new_resource.frequency_modifier.to_i.between?(1, 12) && !(new_resource.months)
805
+ new_resource.months = set_months(new_resource.frequency_modifier.to_i)
806
+ end
807
+
808
+ if new_resource.months
809
+ # this line of code is just to support backward compatibility of wild card *
810
+ new_resource.months = "jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec" if new_resource.months == "*" && new_resource.frequency == :monthly
811
+ months = new_resource.months.split(",")
812
+ months.map! { |month| month.to_s.strip.upcase }
813
+ months_of_year = get_binary_values_from_constants(months, MONTHS)
814
+ else
815
+ MONTHS.each do |key, value|
816
+ months_of_year << MONTHS[key]
817
+ end
818
+ months_of_year = months_of_year.inject(:|)
819
+ end
820
+ months_of_year
821
+ end
822
+
823
+ # This values are set for frequency_modifier set as 1-12
824
+ # This is to give backward compatibility validated this values with earlier code and running schtask.exe
825
+ # Used this as reference https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks#d-dayday--
826
+ def set_months(frequency_modifier)
827
+ case frequency_modifier
828
+ when 1
829
+ "jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec"
830
+ when 2
831
+ "feb, apr, jun, aug, oct, dec"
832
+ when 3
833
+ "mar, jun, sep, dec"
834
+ when 4
835
+ "apr, aug, dec"
836
+ when 5
837
+ "may, oct"
838
+ when 6
839
+ "jun, dec"
840
+ when 7
841
+ "jul"
842
+ when 8
843
+ "aug"
844
+ when 9
845
+ "sep"
846
+ when 10
847
+ "oct"
848
+ when 11
849
+ "nov"
850
+ when 12
851
+ "dec"
852
+ end
853
+ end
854
+
855
+ def get_binary_values_from_constants(array_values, constant)
856
+ data = []
857
+ array_values.each do |value|
858
+ value = value.to_sym
859
+ data << constant[value]
860
+ end
861
+ data.size > 1 ? data.inject(:|) : data[0]
862
+ end
863
+
864
+ def run_level
865
+ case new_resource.run_level
866
+ when :highest
867
+ ::Win32::TaskScheduler::TASK_RUNLEVEL_HIGHEST
868
+ when :limited
869
+ ::Win32::TaskScheduler::TASK_RUNLEVEL_LUA
870
+ end
871
+ end
872
+
873
+ # TODO: while creating the configuration settings win32-taskscheduler it accepts execution time limit values in ISO8601 format
874
+ def config_settings
875
+ settings = {
876
+ execution_time_limit: new_resource.execution_time_limit,
877
+ enabled: true,
878
+ }
879
+ settings[:idle_duration] = new_resource.idle_time if new_resource.idle_time
880
+ settings[:run_only_if_idle] = true if new_resource.idle_time
881
+ settings[:priority] = new_resource.priority
882
+ settings[:disallow_start_if_on_batteries] = new_resource.disallow_start_if_on_batteries
883
+ settings[:stop_if_going_on_batteries] = new_resource.stop_if_going_on_batteries
884
+ settings[:start_when_available] = new_resource.start_when_available
885
+ settings
886
+ end
887
+
888
+ def principal_settings
889
+ settings = {}
890
+ settings[:run_level] = run_level
891
+ settings[:logon_type] = logon_type
892
+ settings
893
+ end
894
+
895
+ def description_needs_update?(task)
896
+ task.description != new_resource.description unless new_resource.description.nil?
897
+ end
898
+
899
+ def logon_type
900
+ # Ref: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383566(v=vs.85).aspx
901
+ # if nothing is passed as logon_type the TASK_LOGON_SERVICE_ACCOUNT is getting set as default so using that for comparison.
902
+ user_id = new_resource.user.to_s
903
+ password = new_resource.password.to_s
904
+ if Chef::ReservedNames::Win32::Security::SID.service_account_user?(user_id)
905
+ ::Win32::TaskScheduler::TASK_LOGON_SERVICE_ACCOUNT
906
+ elsif Chef::ReservedNames::Win32::Security::SID.group_user?(user_id)
907
+ ::Win32::TaskScheduler::TASK_LOGON_GROUP
908
+ elsif !user_id.empty? && !password.empty?
909
+ if new_resource.interactive_enabled
910
+ ::Win32::TaskScheduler::TASK_LOGON_INTERACTIVE_TOKEN
911
+ else
912
+ ::Win32::TaskScheduler::TASK_LOGON_PASSWORD
913
+ end
914
+ else
915
+ ::Win32::TaskScheduler::TASK_LOGON_INTERACTIVE_TOKEN
916
+ end
917
+ end
918
+
919
+ # This method checks if task and command properties exist since those two are mandatory properties to create a schedules task.
920
+ def basic_validation
921
+ validate = []
922
+ validate << "Command" if new_resource.command.nil? || new_resource.command.empty?
923
+ validate << "Task Name" if new_resource.task_name.nil? || new_resource.task_name.empty?
924
+ return true if validate.empty?
925
+
926
+ raise Chef::Exceptions::ValidationFailed.new "Value for '#{validate.join(", ")}' option cannot be empty"
927
+ end
928
+
929
+ # rubocop:disable Style/StringLiteralsInInterpolation
930
+ def run_schtasks(task_action, options = {})
931
+ cmd = "schtasks /#{task_action} /TN \"#{new_resource.task_name}\" "
932
+ options.each_key do |option|
933
+ unless option == "TR"
934
+ cmd += "/#{option} "
935
+ cmd += "\"#{options[option].to_s.gsub('"', "\\\"")}\" " unless options[option] == ""
936
+ end
937
+ end
938
+ # Appending Task Run [TR] option at the end since appending causing sometimes to append other options in option["TR"] value
939
+ if options["TR"]
940
+ cmd += "/TR \"#{options["TR"]} \" " unless task_action == "DELETE"
941
+ end
942
+ logger.trace("running: ")
943
+ logger.trace(" #{cmd}")
944
+ shell_out!(cmd, returns: [0])
945
+ end
946
+ # rubocop:enable Style/StringLiteralsInInterpolation
947
+
948
+ def get_day(date)
949
+ Date.strptime(date, "%m/%d/%Y").strftime("%a").upcase
950
+ end
951
+ end
952
+
953
+ action :create do
954
+ set_command_and_arguments if new_resource.command
955
+
956
+ if current_resource.exists
957
+ logger.trace "#{new_resource} task exist."
958
+ unless (task_needs_update?(current_resource.task)) || (new_resource.force)
959
+ logger.info "#{new_resource} task does not need updating and force is not specified - nothing to do"
960
+ return
961
+ end
962
+
963
+ # if start_day and start_time is not set by user current date and time will be set while updating any property
964
+ set_start_day_and_time unless new_resource.frequency == :none
965
+ update_task(current_resource.task)
966
+ else
967
+ basic_validation
968
+ set_start_day_and_time
969
+ converge_by("#{new_resource} task created") do
970
+ task = ::Win32::TaskScheduler.new
971
+ if new_resource.frequency == :none
972
+ task.new_work_item(new_resource.task_name, {}, { user: new_resource.user, password: new_resource.password, interactive: new_resource.interactive_enabled })
973
+ task.activate(new_resource.task_name)
974
+ else
975
+ task.new_work_item(new_resource.task_name, trigger, { user: new_resource.user, password: new_resource.password, interactive: new_resource.interactive_enabled })
976
+ end
977
+ task.application_name = new_resource.command
978
+ task.parameters = new_resource.command_arguments if new_resource.command_arguments
979
+ task.working_directory = new_resource.cwd if new_resource.cwd
980
+ task.configure_settings(config_settings)
981
+ task.configure_principals(principal_settings)
982
+ task.set_account_information(new_resource.user, new_resource.password, new_resource.interactive_enabled)
983
+ task.creator = new_resource.user
984
+ task.description = new_resource.description unless new_resource.description.nil?
985
+ task.activate(new_resource.task_name)
986
+ end
987
+ end
988
+ end
989
+
990
+ action :run do
991
+ if current_resource.exists
992
+ logger.trace "#{new_resource} task exists"
993
+ if current_resource.task.status == "running"
994
+ logger.info "#{new_resource} task is currently running, skipping run"
995
+ else
996
+ converge_by("run scheduled task #{new_resource}") do
997
+ current_resource.task.run
998
+ end
999
+ end
1000
+ else
1001
+ logger.warn "#{new_resource} task does not exist - nothing to do"
1002
+ end
1003
+ end
1004
+
1005
+ action :delete do
1006
+ if current_resource.exists
1007
+ logger.trace "#{new_resource} task exists"
1008
+ converge_by("delete scheduled task #{new_resource}") do
1009
+ ts = ::Win32::TaskScheduler.new
1010
+ ts.delete(current_resource.task_name)
1011
+ end
1012
+ else
1013
+ logger.warn "#{new_resource} task does not exist - nothing to do"
1014
+ end
1015
+ end
1016
+
1017
+ action :end do
1018
+ if current_resource.exists
1019
+ logger.trace "#{new_resource} task exists"
1020
+ if current_resource.task.status != "running"
1021
+ logger.trace "#{new_resource} is not running - nothing to do"
1022
+ else
1023
+ converge_by("#{new_resource} task ended") do
1024
+ current_resource.task.stop
1025
+ end
1026
+ end
1027
+ else
1028
+ logger.warn "#{new_resource} task does not exist - nothing to do"
1029
+ end
1030
+ end
1031
+
1032
+ action :enable do
1033
+ if current_resource.exists
1034
+ logger.trace "#{new_resource} task exists"
1035
+ if current_resource.task.status == "not scheduled"
1036
+ converge_by("#{new_resource} task enabled") do
1037
+ # TODO wind32-taskscheduler currently not having any method to handle this so using schtasks.exe here
1038
+ run_schtasks "CHANGE", "ENABLE" => ""
1039
+ end
1040
+ else
1041
+ logger.trace "#{new_resource} already enabled - nothing to do"
1042
+ end
1043
+ else
1044
+ logger.fatal "#{new_resource} task does not exist - nothing to do"
1045
+ raise Errno::ENOENT, "#{new_resource}: task does not exist, cannot enable"
1046
+ end
1047
+ end
1048
+
1049
+ action :disable do
1050
+ if current_resource.exists
1051
+ logger.info "#{new_resource} task exists"
1052
+ if %w{ready running}.include?(current_resource.task.status)
1053
+ converge_by("#{new_resource} task disabled") do
1054
+ # TODO: in win32-taskscheduler there is no method which disables the task so currently calling disable with schtasks.exe
1055
+ run_schtasks "CHANGE", "DISABLE" => ""
1056
+ end
1057
+ else
1058
+ logger.warn "#{new_resource} already disabled - nothing to do"
1059
+ end
1060
+ else
1061
+ logger.warn "#{new_resource} task does not exist - nothing to do"
1062
+ end
1063
+ end
1064
+
1065
+ action_class do
1066
+ alias_method :action_change, :action_create
1067
+ end
467
1068
  end
468
1069
  end
469
1070
  end