chef 17.7.22-universal-mingw32 → 17.9.26-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  4. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  5. data/distro/ruby_bin_folder/AMD64/Ijwhost.dll +0 -0
  6. data/distro/ruby_bin_folder/AMD64/concrt140.dll +0 -0
  7. data/distro/ruby_bin_folder/AMD64/host/fxr/5.0.0/hostfxr.dll +0 -0
  8. data/distro/ruby_bin_folder/AMD64/msvcp140.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/msvcp140_1.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/msvcp140_2.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/msvcp140_atomic_wait.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/msvcp140_codecvt_ids.dll +0 -0
  13. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  14. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  16. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +180 -180
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  29. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  30. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  31. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  32. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  33. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  34. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  35. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  36. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  37. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  38. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  39. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  40. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  41. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  42. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  43. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  44. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  45. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  46. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  47. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  48. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  49. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  50. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  51. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  52. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  53. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  54. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  55. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  56. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  57. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  58. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  59. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  60. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  61. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  62. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  63. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  64. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  65. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  66. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  67. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  68. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  69. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  70. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  71. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  72. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  73. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  74. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  75. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  76. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  77. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  78. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  79. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  80. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  81. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  82. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  83. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  84. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  85. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  86. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  87. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  88. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  89. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  90. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  91. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  92. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  93. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  94. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  95. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  96. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  97. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  98. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  99. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  100. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  101. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  102. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  103. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  104. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  105. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  106. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  107. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  108. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  109. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  110. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  111. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  112. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  113. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  114. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  115. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  116. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  117. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  118. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  119. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  120. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  121. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  122. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  123. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  124. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  125. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  126. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  127. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  128. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  129. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  130. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  131. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  132. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  133. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  134. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  135. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  136. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  137. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  138. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  139. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  140. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  141. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  142. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  143. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  144. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  145. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  146. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  147. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  148. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  149. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  150. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  151. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  152. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  153. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  154. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  155. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  156. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  157. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  158. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  159. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  160. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  161. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  162. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  163. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  164. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  165. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  166. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  167. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  168. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  169. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  170. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  171. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  172. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  173. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  174. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  175. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  176. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  177. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  178. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  179. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  180. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  181. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  182. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  183. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  184. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  185. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  186. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  187. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  188. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  189. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.521.16609.dll +0 -0
  190. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  191. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  192. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  193. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  194. data/distro/ruby_bin_folder/AMD64/vccorlib140.dll +0 -0
  195. data/distro/ruby_bin_folder/AMD64/vcruntime140.dll +0 -0
  196. data/distro/ruby_bin_folder/AMD64/vcruntime140_1.dll +0 -0
  197. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  198. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  199. data/distro/ruby_bin_folder/x86/concrt140.dll +0 -0
  200. data/distro/ruby_bin_folder/x86/msvcp140.dll +0 -0
  201. data/distro/ruby_bin_folder/x86/msvcp140_1.dll +0 -0
  202. data/distro/ruby_bin_folder/x86/msvcp140_2.dll +0 -0
  203. data/distro/ruby_bin_folder/x86/msvcp140_atomic_wait.dll +0 -0
  204. data/distro/ruby_bin_folder/x86/msvcp140_codecvt_ids.dll +0 -0
  205. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  206. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  207. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  208. data/distro/ruby_bin_folder/x86/vccorlib140.dll +0 -0
  209. data/distro/ruby_bin_folder/x86/vcruntime140.dll +0 -0
  210. data/lib/chef/application/base.rb +1 -1
  211. data/lib/chef/application/exit_code.rb +7 -21
  212. data/lib/chef/compliance/default_attributes.rb +12 -2
  213. data/lib/chef/compliance/runner.rb +51 -5
  214. data/lib/chef/cookbook/syntax_check.rb +1 -1
  215. data/lib/chef/cookbook_version.rb +1 -1
  216. data/lib/chef/mixin/powershell_exec.rb +6 -5
  217. data/lib/chef/mixin/why_run.rb +8 -2
  218. data/lib/chef/powershell.rb +8 -6
  219. data/lib/chef/provider/cron.rb +2 -2
  220. data/lib/chef/provider/directory.rb +2 -2
  221. data/lib/chef/provider/ifconfig.rb +5 -5
  222. data/lib/chef/provider/mount/linux.rb +16 -2
  223. data/lib/chef/provider/mount/mount.rb +1 -1
  224. data/lib/chef/provider/package/dnf.rb +1 -1
  225. data/lib/chef/provider/package/habitat.rb +1 -1
  226. data/lib/chef/provider/package/powershell.rb +13 -10
  227. data/lib/chef/provider/package/yum/python_helper.rb +81 -25
  228. data/lib/chef/provider/package/yum.rb +39 -12
  229. data/lib/chef/provider/package/zypper.rb +2 -0
  230. data/lib/chef/provider/package.rb +63 -28
  231. data/lib/chef/provider/user/mac.rb +3 -3
  232. data/lib/chef/provider.rb +5 -2
  233. data/lib/chef/providers.rb +0 -1
  234. data/lib/chef/pwsh.rb +3 -2
  235. data/lib/chef/resource/apt_package.rb +2 -2
  236. data/lib/chef/resource/chef_client_config.rb +21 -1
  237. data/lib/chef/resource/chef_client_launchd.rb +1 -1
  238. data/lib/chef/resource/chef_client_trusted_certificate.rb +1 -0
  239. data/lib/chef/resource/chocolatey_package.rb +3 -3
  240. data/lib/chef/resource/cron/cron.rb +75 -1
  241. data/lib/chef/resource/cron/cron_d.rb +2 -1
  242. data/lib/chef/resource/dnf_package.rb +4 -6
  243. data/lib/chef/resource/dpkg_package.rb +5 -0
  244. data/lib/chef/resource/execute.rb +1 -4
  245. data/lib/chef/resource/habitat/habitat_sup.rb +1 -1
  246. data/lib/chef/resource/habitat/habitat_sup_windows.rb +1 -1
  247. data/lib/chef/resource/habitat_install.rb +2 -2
  248. data/lib/chef/resource/homebrew_tap.rb +1 -5
  249. data/lib/chef/resource/inspec_waiver_file_entry.rb +1 -1
  250. data/lib/chef/resource/launchd.rb +2 -5
  251. data/lib/chef/resource/macos_userdefaults.rb +25 -30
  252. data/lib/chef/resource/powershell_package_source.rb +8 -8
  253. data/lib/chef/resource/remote_file.rb +1 -1
  254. data/lib/chef/resource/rhsm_register.rb +31 -0
  255. data/lib/chef/resource/support/client.erb +7 -0
  256. data/lib/chef/resource/windows_feature_powershell.rb +8 -9
  257. data/lib/chef/resource/windows_task.rb +25 -10
  258. data/lib/chef/resource.rb +3 -3
  259. data/lib/chef/resource_reporter.rb +1 -1
  260. data/lib/chef/run_lock.rb +1 -1
  261. data/lib/chef/secret_fetcher/azure_key_vault.rb +4 -2
  262. data/lib/chef/secret_fetcher/hashi_vault.rb +37 -3
  263. data/lib/chef/version.rb +1 -1
  264. data/spec/functional/resource/dnf_package_spec.rb +138 -124
  265. data/spec/functional/resource/dpkg_package_spec.rb +16 -0
  266. data/spec/functional/resource/macos_userdefaults_spec.rb +21 -1
  267. data/spec/functional/resource/yum_package_spec.rb +789 -129
  268. data/spec/functional/resource/zypper_package_spec.rb +7 -0
  269. data/spec/integration/client/client_spec.rb +31 -0
  270. data/spec/spec_helper.rb +3 -3
  271. data/spec/support/platform_helpers.rb +1 -1
  272. data/spec/support/ruby_installer.rb +1 -1
  273. data/spec/support/shared/functional/file_resource.rb +1 -1
  274. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +1 -1
  275. data/spec/unit/application/base_spec.rb +40 -0
  276. data/spec/unit/compliance/runner_spec.rb +62 -1
  277. data/spec/unit/dsl/registry_helper_spec.rb +6 -6
  278. data/spec/unit/file_access_control_spec.rb +1 -1
  279. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  280. data/spec/unit/lwrp_spec.rb +2 -2
  281. data/spec/unit/mixin/why_run_spec.rb +53 -0
  282. data/spec/unit/provider/dsc_script_spec.rb +8 -8
  283. data/spec/unit/provider/group/groupadd_spec.rb +1 -0
  284. data/spec/unit/provider/group/usermod_spec.rb +4 -4
  285. data/spec/unit/provider/ifconfig/aix_spec.rb +14 -14
  286. data/spec/unit/provider/ifconfig/debian_spec.rb +1 -1
  287. data/spec/unit/provider/ifconfig/redhat_spec.rb +1 -1
  288. data/spec/unit/provider/ifconfig_spec.rb +5 -3
  289. data/spec/unit/provider/mount/linux_spec.rb +16 -3
  290. data/spec/unit/provider/package/bff_spec.rb +1 -0
  291. data/spec/unit/provider/package/powershell_spec.rb +114 -114
  292. data/spec/unit/provider/package/rubygems_spec.rb +3 -0
  293. data/spec/unit/provider/package/solaris_spec.rb +1 -0
  294. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +3 -3
  295. data/spec/unit/provider/service/arch_service_spec.rb +2 -2
  296. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  297. data/spec/unit/provider/service/gentoo_service_spec.rb +3 -2
  298. data/spec/unit/provider/service/macosx_spec.rb +1 -0
  299. data/spec/unit/provider/service/redhat_spec.rb +4 -1
  300. data/spec/unit/provider/service/simple_service_spec.rb +6 -4
  301. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  302. data/spec/unit/provider/user_spec.rb +2 -0
  303. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +14 -0
  304. data/spec/unit/resource/conditional_spec.rb +4 -4
  305. data/spec/unit/resource/dpkg_package_spec.rb +12 -0
  306. data/spec/unit/resource/macos_user_defaults_spec.rb +1 -1
  307. data/spec/unit/resource/rhsm_register_spec.rb +42 -0
  308. data/spec/unit/resource_spec.rb +2 -2
  309. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +46 -0
  310. metadata +10 -10
  311. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.20.51904.dll +0 -0
  312. data/lib/chef/provider/group/suse.rb +0 -82
  313. data/spec/unit/provider/group/suse_spec.rb +0 -90
@@ -52,8 +52,8 @@ class Chef
52
52
  property :name, String, default: "install habitat",
53
53
  description: "Name of the resource block. This has no impact other than logging."
54
54
 
55
- property :install_url, String, default: "https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh",
56
- description: "URL to the install script, default is from the [habitat repo](https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh) ."
55
+ property :install_url, String, default: "https://raw.githubusercontent.com/habitat-sh/habitat/main/components/hab/install.sh",
56
+ description: "URL to the install script, default is from the [habitat repo](https://raw.githubusercontent.com/habitat-sh/habitat/main/components/hab/install.sh) ."
57
57
 
58
58
  property :bldr_url, String,
59
59
  description: "Optional URL to an alternate Habitat Builder."
@@ -41,10 +41,6 @@ class Chef
41
41
  property :url, String,
42
42
  description: "The URL of the tap."
43
43
 
44
- property :full, [TrueClass, FalseClass],
45
- description: "Perform a full clone on the tap, as opposed to a shallow clone.",
46
- default: false
47
-
48
44
  property :homebrew_path, String,
49
45
  description: "The path to the Homebrew binary.",
50
46
  default: "/usr/local/bin/brew"
@@ -57,7 +53,7 @@ class Chef
57
53
  action :tap, description: "Add a Homebrew tap." do
58
54
  unless tapped?(new_resource.tap_name)
59
55
  converge_by("tap #{new_resource.tap_name}") do
60
- shell_out!("#{new_resource.homebrew_path} tap #{new_resource.full ? "--full" : ""} #{new_resource.tap_name} #{new_resource.url || ""}",
56
+ shell_out!("#{new_resource.homebrew_path} tap #{new_resource.tap_name} #{new_resource.url || ""}",
61
57
  user: new_resource.owner,
62
58
  env: { "HOME" => ::Dir.home(new_resource.owner), "USER" => new_resource.owner },
63
59
  cwd: ::Dir.home(new_resource.owner))
@@ -135,7 +135,7 @@ class Chef
135
135
 
136
136
  action_class do
137
137
  def load_waiver_file_to_hash(file_name)
138
- if file_name =~ %r{(/|C:\\).*(.yaml|.yml)}i
138
+ if %r{(/|C:\\).*(.yaml|.yml)}i.match?(file_name)
139
139
  if ::File.exist?(file_name)
140
140
  hash = ::YAML.load_file(file_name)
141
141
  if hash == false || hash.nil? || hash == ""
@@ -84,7 +84,7 @@ class Chef
84
84
  end
85
85
 
86
86
  # Check to make sure that our array only has hashes
87
- unless array.all? { |obj| obj.is_a?(Hash) }
87
+ unless array.all?(Hash)
88
88
  error_msg = "start_calendar_interval must be a single hash or an array of hashes!"
89
89
  raise Chef::Exceptions::ValidationFailed, error_msg
90
90
  end
@@ -98,7 +98,7 @@ class Chef
98
98
  raise Chef::Exceptions::ValidationFailed, error_msg
99
99
  end
100
100
 
101
- unless entry.values.all? { |val| val.is_a?(Integer) }
101
+ unless entry.values.all?(Integer)
102
102
  failed_values = entry.values.reject { |val| val.is_a?(Integer) }.join(", ")
103
103
  error_msg = "Invalid value(s) (#{failed_values}) for start_calendar_interval item. Values must be integers!"
104
104
  raise Chef::Exceptions::ValidationFailed, error_msg
@@ -238,9 +238,6 @@ class Chef
238
238
  property :time_out, Integer,
239
239
  description: "The amount of time (in seconds) a job may be idle before it times out. If no value is specified, the default timeout value for launchd will be used."
240
240
 
241
- property :umask, Integer,
242
- description: "A decimal value to pass to `umask` before running a job."
243
-
244
241
  property :username, String,
245
242
  description: "When launchd is run as the root user, the user to run the job as."
246
243
 
@@ -17,6 +17,7 @@
17
17
 
18
18
  require_relative "../resource"
19
19
  require "chef-utils/dist" unless defined?(ChefUtils::Dist)
20
+ require "corefoundation" if RUBY_PLATFORM.match?(/darwin/)
20
21
  autoload :Plist, "plist"
21
22
 
22
23
  class Chef
@@ -80,8 +81,7 @@ class Chef
80
81
  property :host, [String, Symbol],
81
82
  description: "Set either :current, :all or a hostname to set the user default at the host level.",
82
83
  desired_state: false,
83
- introduced: "16.3",
84
- coerce: proc { |value| to_cf_host(value) }
84
+ introduced: "16.3"
85
85
 
86
86
  property :value, [Integer, Float, String, TrueClass, FalseClass, Hash, Array],
87
87
  description: "The value of the key. Note: With the `type` property set to `bool`, `String` forms of Boolean true/false values that Apple accepts in the defaults command will be coerced: 0/1, 'TRUE'/'FALSE,' 'true'/false', 'YES'/'NO', or 'yes'/'no'.",
@@ -95,8 +95,7 @@ class Chef
95
95
 
96
96
  property :user, [String, Symbol],
97
97
  description: "The system user that the default will be applied to. Set :current for current user, :all for all users or pass a valid username",
98
- desired_state: false,
99
- coerce: proc { |value| to_cf_user(value) }
98
+ desired_state: false
100
99
 
101
100
  property :sudo, [TrueClass, FalseClass],
102
101
  description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the `/usr/bin/defaults` command to be setup for the user running #{ChefUtils::Dist::Infra::PRODUCT}.",
@@ -117,7 +116,7 @@ class Chef
117
116
  action :write, description: "Write the value to the specified domain/key." do
118
117
  converge_if_changed do
119
118
  Chef::Log.debug("Updating defaults value for #{new_resource.key} in #{new_resource.domain}")
120
- CF::Preferences.set!(new_resource.key, new_resource.value, new_resource.domain, new_resource.user, new_resource.host)
119
+ CF::Preferences.set!(new_resource.key, new_resource.value, new_resource.domain, to_cf_user(new_resource.user), to_cf_host(new_resource.host))
121
120
  end
122
121
  end
123
122
 
@@ -127,39 +126,35 @@ class Chef
127
126
 
128
127
  converge_by("delete domain:#{new_resource.domain} key:#{new_resource.key}") do
129
128
  Chef::Log.debug("Removing defaults key: #{new_resource.key}")
130
- CF::Preferences.set!(new_resource.key, nil, new_resource.domain, new_resource.user, new_resource.host)
129
+ CF::Preferences.set!(new_resource.key, nil, new_resource.domain, to_cf_user(new_resource.user), to_cf_host(new_resource.host))
131
130
  end
132
131
  end
133
132
 
134
133
  def get_preference(new_resource)
135
- CF::Preferences.get(new_resource.key, new_resource.domain, new_resource.user, new_resource.host)
134
+ CF::Preferences.get(new_resource.key, new_resource.domain, to_cf_user(new_resource.user), to_cf_host(new_resource.host))
136
135
  end
137
136
 
138
- action_class do
139
- require "corefoundation" if RUBY_PLATFORM.match?(/darwin/)
140
-
141
- # Return valid hostname based on the input from host property
142
- def to_cf_host(value)
143
- case value
144
- when :all
145
- CF::Preferences::ALL_HOSTS
146
- when :current
147
- CF::Preferences::CURRENT_HOST
148
- else
149
- value
150
- end
137
+ # Return valid hostname based on the input from host property
138
+ def to_cf_host(value)
139
+ case value
140
+ when :all
141
+ CF::Preferences::ALL_HOSTS
142
+ when :current
143
+ CF::Preferences::CURRENT_HOST
144
+ else
145
+ value
151
146
  end
147
+ end
152
148
 
153
- # Return valid username based on the input from user property
154
- def to_cf_user(value)
155
- case value
156
- when :all
157
- CF::Preferences::ALL_USERS
158
- when :current
159
- CF::Preferences::CURRENT_USER
160
- else
161
- value
162
- end
149
+ # Return valid username based on the input from user property
150
+ def to_cf_user(value)
151
+ case value
152
+ when :all
153
+ CF::Preferences::ALL_USERS
154
+ when :current
155
+ CF::Preferences::CURRENT_USER
156
+ else
157
+ value
163
158
  end
164
159
  end
165
160
  end
@@ -25,10 +25,10 @@ class Chef
25
25
 
26
26
  provides :powershell_package_source
27
27
 
28
- description "Use the **powershell_package_source** resource to register a PowerShell package source and a Powershell package provider. There are 2 distinct objects we care about here. The first is a Package Source like a PowerShell Repository or a Nuget Source. The second object is a provider that PowerShell uses to get to that source with, like PowerShellGet, Nuget, Chocolatey, etc. "
28
+ description "Use the **powershell_package_source** resource to register a PowerShell package source and a Powershell package provider. There are two distinct objects we care about here. The first is a package source like a PowerShell repository or a NuGet Source. The second object is a provider that PowerShell uses to get to that source with, like PowerShellGet, NuGet, Chocolatey, etc."
29
29
  introduced "14.3"
30
30
  examples <<~DOC
31
- **Add a new PSRepository that is not trusted and which requires credentials to connect to**:
31
+ **Add a new PowerShell repository that is not trusted and which requires credentials to connect to**:
32
32
 
33
33
  ```ruby
34
34
  powershell_package_source 'PowerShellModules' do
@@ -43,7 +43,7 @@ class Chef
43
43
  end
44
44
  ```
45
45
 
46
- **Add a new Package Source that uses Chocolatey as the Package Provider**:
46
+ **Add a new package source that uses Chocolatey as the package provider**:
47
47
 
48
48
  ```ruby
49
49
  powershell_package_source 'PowerShellModules' do
@@ -56,7 +56,7 @@ class Chef
56
56
  end
57
57
  ```
58
58
 
59
- **Add a new PowerShell Script source that is trusted**:
59
+ **Add a new PowerShell script source that is trusted**:
60
60
 
61
61
  ```ruby
62
62
  powershell_package_source 'MyDodgyScript' do
@@ -68,7 +68,7 @@ class Chef
68
68
  end
69
69
  ```
70
70
 
71
- **Update my existing PSRepository to make it Trusted after all**:
71
+ **Update an existing PowerShell repository to make it trusted**:
72
72
 
73
73
  ```ruby
74
74
  powershell_package_source 'MyPSModule' do
@@ -137,7 +137,7 @@ class Chef
137
137
  description: "The location where scripts will be published to for this source. Only valid if the provider is `PowerShellGet`."
138
138
 
139
139
  property :trusted, [TrueClass, FalseClass],
140
- description: "Whether or not to trust packages from this source. Used when creating a NON-PSRepository Package Source",
140
+ description: "Whether or not to trust packages from this source. Used when creating a non-PowerShell repository package source.",
141
141
  default: false
142
142
 
143
143
  property :user, String,
@@ -151,7 +151,7 @@ class Chef
151
151
  property :provider_name, String,
152
152
  equal_to: %w{ Programs msi NuGet msu PowerShellGet psl chocolatey winget },
153
153
  validation_message: "The following providers are supported: 'Programs', 'msi', 'NuGet', 'msu', 'PowerShellGet', 'psl', 'chocolatey' or 'winget'",
154
- description: "The package management provider for the package source. The default is PowerShellGet and this option need only be set otherwise in specific use cases.",
154
+ description: "The package management provider for the package source. The default is `PowerShellGet`. Only change this option in specific use cases.",
155
155
  default: "NuGet"
156
156
 
157
157
  load_current_value do
@@ -202,7 +202,7 @@ class Chef
202
202
  end
203
203
  end
204
204
 
205
- action :set, description: "Updates an existing PSRepository or Package Source" do
205
+ action :set, description: "Updates an existing PowerShell repository or package source." do
206
206
  package_details = get_package_source_details
207
207
  output = package_details.result
208
208
  if output == "PSRepository"
@@ -138,7 +138,7 @@ class Chef
138
138
  nil
139
139
  elsif args[0].is_a?(Chef::DelayedEvaluator) && args.count == 1
140
140
  args[0]
141
- elsif args.any? { |a| a.is_a?(Chef::DelayedEvaluator) } && args.count > 1
141
+ elsif args.any?(Chef::DelayedEvaluator) && args.count > 1
142
142
  raise Exceptions::InvalidRemoteFileURI, "Only 1 source argument allowed when using a lazy evaluator"
143
143
  else
144
144
  Array(args).flatten
@@ -79,6 +79,23 @@ class Chef
79
79
  default: false, desired_state: false,
80
80
  introduced: "15.9"
81
81
 
82
+ property :server_url, String,
83
+ description: "The hostname of the subscription service to use. The default is Customer Portal Subscription Management, subscription.rhn.redhat.com. If you do not use this option, the system registers with Customer Portal Subscription Management.",
84
+ introduced: "17.8"
85
+
86
+ property :base_url, String,
87
+ description: "The hostname of the content delivery server to use to receive updates. Both Customer Portal Subscription Management and Subscription Asset Manager use Red Hat's hosted content delivery services, with the URL https://cdn.redhat.com. Since Satellite 6 hosts its own content, the URL must be used for systems registered with Satellite 6.",
88
+ introduced: "17.8"
89
+
90
+ property :service_level, String,
91
+ description: "Sets the service level to use for subscriptions on the registering machine. This is only used with the `auto_attach` option.",
92
+ introduced: "17.8"
93
+
94
+ property :release,
95
+ [Float, String],
96
+ description: "Sets the operating system minor release to use for subscriptions for the system. Products and updates are limited to the specified minor release version. This is used only used with the `auto_attach` option. For example, `release '6.4'` will append `--release=6.4` to the register command.",
97
+ introduced: "17.8"
98
+
82
99
  action :register, description: "Register the node with RHSM." do
83
100
  package "subscription-manager"
84
101
 
@@ -170,6 +187,8 @@ class Chef
170
187
  command << new_resource.activation_key.map { |key| "--activationkey=#{Shellwords.shellescape(key)}" }
171
188
  command << "--org=#{Shellwords.shellescape(new_resource.organization)}"
172
189
  command << "--name=#{Shellwords.shellescape(new_resource.system_name)}" if new_resource.system_name
190
+ command << "--serverurl=#{Shellwords.shellescape(new_resource.server_url)}" if new_resource.server_url
191
+ command << "--baseurl=#{Shellwords.shellescape(new_resource.base_url)}" if new_resource.base_url
173
192
  command << "--force" if new_resource.force
174
193
 
175
194
  return command.join(" ")
@@ -179,11 +198,23 @@ class Chef
179
198
  if new_resource.username && new_resource.password
180
199
  raise "Unable to register - you must specify environment when using username/password" if new_resource.environment.nil? && using_satellite_host?
181
200
 
201
+ if new_resource.service_level
202
+ raise "Unable to register - 'auto_attach' must be enabled when using property `service_level`." unless new_resource.auto_attach
203
+ end
204
+
205
+ if new_resource.release
206
+ raise "Unable to register - `auto_attach` must be enabled when using property `release`." unless new_resource.auto_attach
207
+ end
208
+
182
209
  command << "--username=#{Shellwords.shellescape(new_resource.username)}"
183
210
  command << "--password=#{Shellwords.shellescape(new_resource.password)}"
184
211
  command << "--environment=#{Shellwords.shellescape(new_resource.environment)}" if using_satellite_host?
185
212
  command << "--name=#{Shellwords.shellescape(new_resource.system_name)}" if new_resource.system_name
213
+ command << "--serverurl=#{Shellwords.shellescape(new_resource.server_url)}" if new_resource.server_url
214
+ command << "--baseurl=#{Shellwords.shellescape(new_resource.base_url)}" if new_resource.base_url
186
215
  command << "--auto-attach" if new_resource.auto_attach
216
+ command << "--servicelevel=#{Shellwords.shellescape(new_resource.service_level)}" if new_resource.service_level
217
+ command << "--release=#{Shellwords.shellescape(new_resource.release)}" if new_resource.release
187
218
  command << "--force" if new_resource.force
188
219
 
189
220
  return command.join(" ")
@@ -37,6 +37,13 @@ log_location <%= @log_location %>
37
37
  log_location <%= @log_location.inspect %>
38
38
  <% end -%>
39
39
  <% end -%>
40
+ <%# These data_collector options are special as they have a '.' -%>
41
+ <% unless @data_collector_server_url.nil? || @data_collector_server_url.empty? %>
42
+ data_collector.server_url <%= @data_collector_server_url %>
43
+ <% end %>
44
+ <% unless @data_collector_token.nil? || @data_collector_token.empty? %>
45
+ data_collector.token <%= @data_collector_token %>
46
+ <% end %>
40
47
  <%# The code below is not DRY on purpose to improve readability -%>
41
48
  <% unless @start_handlers.empty? -%>
42
49
  # Do not crash if a start handler is missing / not installed yet
@@ -100,8 +100,8 @@ class Chef
100
100
  install_command << " -Source \"#{new_resource.source}\"" if new_resource.source
101
101
  install_command << " -IncludeManagementTools" if new_resource.management_tools
102
102
 
103
- cmd = powershell_out!(install_command, timeout: new_resource.timeout)
104
- Chef::Log.info(cmd.stdout)
103
+ cmd = powershell_exec!(install_command, timeout: new_resource.timeout)
104
+ Chef::Log.info(cmd.result)
105
105
 
106
106
  reload_cached_powershell_data # Reload cached powershell feature state
107
107
  end
@@ -115,8 +115,8 @@ class Chef
115
115
 
116
116
  unless features_to_remove.empty?
117
117
  converge_by("remove Windows feature#{"s" if features_to_remove.count > 1} #{features_to_remove.join(",")}") do
118
- cmd = powershell_out!("Uninstall-WindowsFeature #{features_to_remove.join(",")}", timeout: new_resource.timeout)
119
- Chef::Log.info(cmd.stdout)
118
+ cmd = powershell_exec!("Uninstall-WindowsFeature #{features_to_remove.join(",")}", timeout: new_resource.timeout)
119
+ Chef::Log.info(cmd.result)
120
120
 
121
121
  reload_cached_powershell_data # Reload cached powershell feature state
122
122
  end
@@ -132,8 +132,8 @@ class Chef
132
132
 
133
133
  unless features_to_delete.empty?
134
134
  converge_by("delete Windows feature#{"s" if features_to_delete.count > 1} #{features_to_delete.join(",")} from the image") do
135
- cmd = powershell_out!("Uninstall-WindowsFeature #{features_to_delete.join(",")} -Remove", timeout: new_resource.timeout)
136
- Chef::Log.info(cmd.stdout)
135
+ cmd = powershell_exec!("Uninstall-WindowsFeature #{features_to_delete.join(",")} -Remove", timeout: new_resource.timeout)
136
+ Chef::Log.info(cmd.result)
137
137
 
138
138
  reload_cached_powershell_data # Reload cached powershell feature state
139
139
  end
@@ -215,9 +215,8 @@ class Chef
215
215
  # fetch the list of available feature names and state in JSON and parse the JSON
216
216
  def parsed_feature_list
217
217
  # Grab raw feature information from WindowsFeature
218
- raw_list_of_features = powershell_out!("Get-WindowsFeature | Select-Object -Property Name,InstallState | ConvertTo-Json -Compress", timeout: new_resource.timeout).stdout
219
-
220
- Chef::JSONCompat.from_json(raw_list_of_features)
218
+ raw_list_of_features = powershell_exec!("Get-WindowsFeature | Select-Object -Property Name,InstallState", timeout: new_resource.timeout).result
219
+ raw_list_of_features || []
221
220
  end
222
221
 
223
222
  # add the features values to the appropriate array
@@ -149,7 +149,6 @@ class Chef
149
149
  DOC
150
150
 
151
151
  allowed_actions :create, :delete, :run, :end, :enable, :disable, :change
152
- default_action :create
153
152
 
154
153
  property :task_name, String, regex: [%r{\A[^/\:\*\?\<\>\|]+\z}],
155
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`",
@@ -182,10 +181,19 @@ class Chef
182
181
  default: false
183
182
 
184
183
  property :frequency_modifier, [Integer, String],
185
- default: 1
184
+ default: 1,
185
+ description: <<~DOCS
186
+ * For frequency `:minute` valid values are 1 to 1439
187
+ * For frequency `:hourly` valid values are 1 to 23
188
+ * For frequency `:daily` valid values are 1 to 365
189
+ * For frequency `:weekly` valid values are 1 to 52
190
+ * For frequency `:monthly` valid values are `('FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST')` OR `1-12`.
191
+ * e.g. If user want to run the task on `second week of the month` use `frequency_modifier` value as `SECOND`. Multiple values for weeks of the month should be comma separated e.g. `"FIRST, THIRD, LAST"`.
192
+ * To run task every (n) months use values 1 to 12.
193
+ DOCS
186
194
 
187
195
  property :frequency, Symbol, equal_to: %i{minute hourly daily weekly monthly once on_logon onstart on_idle none},
188
- description: "The frequency with which to run the task."
196
+ description: "The frequency with which to run the task. Note: This property is required in Chef Infra Client 14.1 or later. Note: The `:once` value requires the `start_time` property to be set."
189
197
 
190
198
  property :start_day, String,
191
199
  description: "Specifies the first date on which the task runs in **MM/DD/YYYY** format.",
@@ -195,7 +203,14 @@ class Chef
195
203
  description: "Specifies the start time to run the task, in **HH:mm** format."
196
204
 
197
205
  property :day, [String, Integer],
198
- description: "The day(s) on which the task runs."
206
+ description: <<~DOCS
207
+ The day(s) on which the task runs.
208
+ * Use this property when setting `frequency` to `:monthly` or `:weekly`.
209
+ * Valid values with frequency `:weekly` are `MON`-`SUN` or `*`.
210
+ * Valid values with frequency `:monthly` are `1-31`, `MON`-`SUN`, and `LASTDAY`.
211
+ * Use `MON`-`SUN` or `LASTDAY` if you are setting `frequency_modifier` as "FIRST, SECOND, THIRD etc." else use 1-31.
212
+ * Multiple days should be comma separated. e.g `1, 2, 3` or `MON, WED, FRI`.
213
+ DOCS
199
214
 
200
215
  property :months, String,
201
216
  description: "The Months of the year on which the task runs, such as: `JAN, FEB` or `*`. Multiple months should be comma delimited. e.g. `Jan, Feb, Mar, Dec`."
@@ -961,7 +976,7 @@ class Chef
961
976
  end
962
977
  end
963
978
 
964
- action :create do
979
+ action :create, description: "Creates a scheduled task, or updates an existing task if any property has changed." do
965
980
  set_command_and_arguments if new_resource.command
966
981
 
967
982
  if current_resource.exists
@@ -998,7 +1013,7 @@ class Chef
998
1013
  end
999
1014
  end
1000
1015
 
1001
- action :run do
1016
+ action :run, description: "Runs a scheduled task." do
1002
1017
  if current_resource.exists
1003
1018
  logger.trace "#{new_resource} task exists"
1004
1019
  if current_resource.task.status == "running"
@@ -1013,7 +1028,7 @@ class Chef
1013
1028
  end
1014
1029
  end
1015
1030
 
1016
- action :delete do
1031
+ action :delete, description: "Deletes a scheduled task." do
1017
1032
  if current_resource.exists
1018
1033
  logger.trace "#{new_resource} task exists"
1019
1034
  converge_by("delete scheduled task #{new_resource}") do
@@ -1026,7 +1041,7 @@ class Chef
1026
1041
  end
1027
1042
  end
1028
1043
 
1029
- action :end do
1044
+ action :end, description: "Ends a scheduled task." do
1030
1045
  if current_resource.exists
1031
1046
  logger.trace "#{new_resource} task exists"
1032
1047
  if current_resource.task.status != "running"
@@ -1041,7 +1056,7 @@ class Chef
1041
1056
  end
1042
1057
  end
1043
1058
 
1044
- action :enable do
1059
+ action :enable, description: "Enables a scheduled task." do
1045
1060
  if current_resource.exists
1046
1061
  logger.trace "#{new_resource} task exists"
1047
1062
  if current_resource.task.status == "not scheduled"
@@ -1058,7 +1073,7 @@ class Chef
1058
1073
  end
1059
1074
  end
1060
1075
 
1061
- action :disable do
1076
+ action :disable, description: "Disables a scheduled task." do
1062
1077
  if current_resource.exists
1063
1078
  logger.info "#{new_resource} task exists"
1064
1079
  if %w{ready running}.include?(current_resource.task.status)
data/lib/chef/resource.rb CHANGED
@@ -311,7 +311,7 @@ class Chef
311
311
  # file '/foo.txt' do
312
312
  # content 'hi'
313
313
  # action :nothing
314
- # subscribes :create, '/bar.txt'
314
+ # subscribes :create, bar
315
315
  # end
316
316
  # @example Multiple resources by string
317
317
  # file '/foo.txt' do
@@ -454,7 +454,7 @@ class Chef
454
454
  # @param arg [String] The umask to apply while converging the resource.
455
455
  # @return [Boolean] The umask to apply while converging the resource.
456
456
  #
457
- property :umask, String,
457
+ property :umask, [String, Integer],
458
458
  desired_state: false,
459
459
  introduced: "16.2",
460
460
  description: "Set a umask to be used for the duration of converging the resource. Defaults to `nil`, which means to use the system umask. Unsupported on Windows because Windows lacks a direct equivalent to UNIX's umask."
@@ -1096,7 +1096,7 @@ class Chef
1096
1096
  rescue NameError => e
1097
1097
  # This can happen when attempting to load a provider in a platform-specific
1098
1098
  # environment where we have not required the necessary files yet
1099
- raise unless e.message =~ /uninitialized constant/
1099
+ raise unless /uninitialized constant/.match?(e.message)
1100
1100
  end
1101
1101
 
1102
1102
  # Define a method to load up this resource's properties with the current
@@ -34,7 +34,7 @@ class Chef
34
34
  as_hash["after"] = new_resource.state_for_resource_reporter
35
35
  as_hash["before"] = current_resource ? current_resource.state_for_resource_reporter : {}
36
36
  as_hash["duration"] = ( action_record.elapsed_time * 1000 ).to_i.to_s
37
- as_hash["delta"] = new_resource.diff if new_resource.respond_to?("diff")
37
+ as_hash["delta"] = new_resource.diff if new_resource.respond_to?(:diff)
38
38
  as_hash["delta"] = "" if as_hash["delta"].nil?
39
39
 
40
40
  # TODO: rename as "action"
data/lib/chef/run_lock.rb CHANGED
@@ -144,7 +144,7 @@ class Chef
144
144
  # If we support FD_CLOEXEC, then use it.
145
145
  # NB: ruby-2.0.0-p195 sets FD_CLOEXEC by default, but not
146
146
  # ruby-1.8.7/1.9.3
147
- if Fcntl.const_defined?("F_SETFD") && Fcntl.const_defined?("FD_CLOEXEC")
147
+ if Fcntl.const_defined?(:F_SETFD) && Fcntl.const_defined?(:FD_CLOEXEC)
148
148
  runlock.fcntl(Fcntl::F_SETFD, runlock.fcntl(Fcntl::F_GETFD, 0) | Fcntl::FD_CLOEXEC)
149
149
  end
150
150
  # Flock will return 0 if it can acquire the lock otherwise it
@@ -1,5 +1,7 @@
1
1
  require_relative "base"
2
2
  require_relative "../exceptions"
3
+ require "json" unless defined?(JSON)
4
+ require "net/http" unless defined?(Net::HTTP)
3
5
  require "uri" unless defined?(URI)
4
6
 
5
7
  class Chef
@@ -57,7 +59,7 @@ class Chef
57
59
  end
58
60
 
59
61
  def validate!
60
- raise Chef::Exceptions::Secret::ConfigurationInvalid, "You may only specify one (these are mutually exclusive): :object_id, :client_id, or :mi_res_id" if [object_id, client_id, mi_res_id].select { |x| !x.nil? }.length > 1
62
+ raise Chef::Exceptions::Secret::ConfigurationInvalid, "You may only specify one (these are mutually exclusive): :object_id, :client_id, or :mi_res_id" if [object_id, client_id, mi_res_id].count { |x| !x.nil? } > 1
61
63
  end
62
64
 
63
65
  private
@@ -121,7 +123,7 @@ class Chef
121
123
  body["access_token"]
122
124
  when Net::HTTPBadRequest
123
125
  body = JSON.parse(response.body)
124
- raise Chef::Exceptions::Secret::Azure::IdentityNotFound if body["error_description"] =~ /identity not found/i
126
+ raise Chef::Exceptions::Secret::Azure::IdentityNotFound if /identity not found/i.match?(body["error_description"])
125
127
  else
126
128
  body = JSON.parse(response.body)
127
129
  body["access_token"]
@@ -31,6 +31,10 @@ class Chef
31
31
  # :auth_method - one of :iam_role, :token. default: :iam_role
32
32
  # :vault_addr - the address of a running Vault instance, eg https://vault.example.com:8200
33
33
  #
34
+ # For `:approle`: one of `:approle_name` or `:approle_id`
35
+ # `:approle_name`: The name of the approle to use for authentication. When specified, associated `:approle_id` will be found via query to Vault instance.
36
+ # `:approle_id`: The ID of the approle to use for authentication, requires `:approle_secret_id`
37
+ # `:approle_secret_id`: The Vault `secret_id` associated with the provided `:approle_name` or `:approle_id`. When specified, prevents need to create `:secret_id` with `:approle_name`.
34
38
  # For `:token` auth: `:token` - a Vault token valid for authentication.
35
39
  #
36
40
  # For `:iam_role`: `:role_name` - the name of the role in Vault that was created
@@ -47,14 +51,25 @@ class Chef
47
51
  #
48
52
  # @example
49
53
  #
50
- # fetcher = SecretFetcher.for_service(:hashi_vault, { role_name: "testing-role", vault_addr: https://localhost:8200}, run_context )
54
+ # fetcher = SecretFetcher.for_service(:hashi_vault, { auth_method: :iam_role, role_name: "testing-role", vault_addr: https://localhost:8200}, run_context )
51
55
  # fetcher.fetch("secretkey1")
52
56
  #
53
57
  # @example
54
58
  #
55
- # fetcher = SecretFetcher.for_service(:hashi_vault, { auth_method: :token, token: "s.1234abcdef", vault_addr: https://localhost:8200}, run_context )
59
+ # fetcher = SecretFetcher.for_service(:hashi_vault, { auth_method: :token, token: "s.1234abcdef", vault_addr: https://localhost:8200}, approle: 'approle_name', run_context )
56
60
  # fetcher.fetch("secretkey1")
57
- SUPPORTED_AUTH_TYPES = %i{iam_role token}.freeze
61
+ #
62
+ # @example
63
+ #
64
+ # fetcher = SecretFetcher.for_service(:hashi_vault, { auth_method: :approle, approle_id: "11111111-abcd-1111-abcd-111111111111", approle_secret_id: "22222222-abcd-2222-abcd-222222222222", vault_addr: https://localhost:8200}, run_context )
65
+ # fetcher.fetch("secretkey1")
66
+ #
67
+ # @example
68
+ #
69
+ # fetcher = SecretFetcher.for_service(:hashi_vault, { auth_method: :approle, approle_name: "testing-role", token: "s.1234abcdef", vault_addr: https://localhost:8200}, run_context )
70
+ # fetcher.fetch("secretkey1")
71
+ #
72
+ SUPPORTED_AUTH_TYPES = %i{approle iam_role token}.freeze
58
73
  class HashiVault < Base
59
74
 
60
75
  # Validate and authenticate the current session using the configured auth strategy and parameters
@@ -67,6 +82,25 @@ class Chef
67
82
  Vault.namespace = config[:namespace] unless config[:namespace].nil?
68
83
 
69
84
  case config[:auth_method]
85
+ when :approle
86
+ unless config[:approle_name] || config[:approle_id]
87
+ raise Chef::Exceptions::Secret::ConfigurationInvalid.new("You must provide the :approle_name or :approle_id in the configuration with :auth_method set to :approle")
88
+ end
89
+
90
+ # When :approle_id and :approle_secret_id are both specified, all pieces are present which are needed to authenticate using an approle.
91
+ # If either is missing, we need to authenticate to Vault to get the missing pieces with the :approle_name and optionally :token.
92
+ unless config[:approle_id] && config[:approle_secret_id]
93
+ if config[:approle_name].nil?
94
+ raise Chef::Exceptions::Secret::ConfigurationInvalid.new("You must provide the :approle_name in the configuration when :approle_id and :approle_secret_id are not both present with :auth_method set to :approle")
95
+ end
96
+
97
+ Vault.token = config[:token] unless config[:token].nil?
98
+ end
99
+
100
+ approle_id = config[:approle_id] || Vault.approle.role_id(config[:approle_name])
101
+ approle_secret_id = config[:approle_secret_id] || Vault.approle.create_secret_id(config[:approle_name]).data[:secret_id]
102
+
103
+ Vault.auth.approle(approle_id, approle_secret_id)
70
104
  when :token
71
105
  if config[:token].nil?
72
106
  raise Chef::Exceptions::Secret::ConfigurationInvalid.new("You must provide the token in the configuration as :token")
data/lib/chef/version.rb CHANGED
@@ -23,7 +23,7 @@ require_relative "version_string"
23
23
 
24
24
  class Chef
25
25
  CHEF_ROOT = File.expand_path("..", __dir__)
26
- VERSION = Chef::VersionString.new("17.7.22")
26
+ VERSION = Chef::VersionString.new("17.9.26")
27
27
  end
28
28
 
29
29
  #