class Chef::Platform

Public Class Methods

dsc_refresh_mode_disabled?(node) click to toggle source
# File lib/chef/platform/query_helpers.rb, line 63
def dsc_refresh_mode_disabled?(node)
  exec = powershell_exec!("Get-DscLocalConfigurationManager")
  exec.error!
  exec.result["RefreshMode"] == "Disabled"
end
find_platform_and_version(node) click to toggle source
# File lib/chef/platform/provider_mapping.rb, line 29
def find_platform_and_version(node)
  platform = nil
  version = nil

  if node[:platform]
    platform = node[:platform]
  elsif node.attribute?("os")
    platform = node[:os]
  end

  raise ArgumentError, "Cannot find a platform for #{node}" unless platform

  if node[:platform_version]
    version = node[:platform_version]
  elsif node[:os_version]
    version = node[:os_version]
  elsif node[:os_release]
    version = node[:os_release]
  end

  raise ArgumentError, "Cannot find a version for #{node}" unless version

  [platform, version]
end
supported_powershell_version?(node, version_string) click to toggle source
# File lib/chef/platform/query_helpers.rb, line 69
def supported_powershell_version?(node, version_string)
  return false unless node[:languages] && node[:languages][:powershell]

  require "rubygems" unless defined?(Gem)
  Gem::Version.new(node[:languages][:powershell][:version]) >=
    Gem::Version.new(version_string)
end
supports_dsc?(node) click to toggle source
# File lib/chef/platform/query_helpers.rb, line 49
def supports_dsc?(node)
  node[:languages] && node[:languages][:powershell] &&
    node[:languages][:powershell][:version].to_i >= 4
end
supports_dsc_invoke_resource?(node) click to toggle source
# File lib/chef/platform/query_helpers.rb, line 54
def supports_dsc_invoke_resource?(node)
  supports_dsc?(node) &&
    supported_powershell_version?(node, "5.0.10018.0")
end
supports_msi?() click to toggle source

@deprecated we added this method due to Windows Server Nano, which is no longer a platform

# File lib/chef/platform/query_helpers.rb, line 38
def supports_msi?
  return false unless windows?

  true
end
supports_powershell_execution_bypass?(node) click to toggle source

@deprecated we don’t support any release of Windows that isn’t PS 3+

# File lib/chef/platform/query_helpers.rb, line 45
def supports_powershell_execution_bypass?(node)
  true
end
supports_refresh_mode_enabled?(node) click to toggle source
# File lib/chef/platform/query_helpers.rb, line 59
def supports_refresh_mode_enabled?(node)
  supported_powershell_version?(node, "5.0.10586.0")
end
windows?() click to toggle source
# File lib/chef/platform/query_helpers.rb, line 28
def windows?
  ChefUtils.windows?
end
windows_nano_server?() click to toggle source

@deprecated Windows Nano is not a thing anymore so this check shouldn’t be used

# File lib/chef/platform/query_helpers.rb, line 33
def windows_nano_server?
  false
end