module ChefUtils::DSL::Architecture

Public Instance Methods

_32_bit?(node = __getnode) click to toggle source

Determine if the current architecture is 32-bit.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 43
def _32_bit?(node = __getnode)
  !_64_bit?(node)
end
_64_bit?(node = __getnode) click to toggle source

Determine if the current architecture is 64-bit.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 32
def _64_bit?(node = __getnode)
  %w{amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u}
    .include?(node["kernel"]["machine"])
end
arm?(node = __getnode) click to toggle source

Determine if the current architecture is arm

@since 15.10

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 113
def arm?(node = __getnode)
  %w{armv6l armv7l armhf aarch64 arm64 arch64}.include?(node["kernel"]["machine"])
end
armhf?(node = __getnode) click to toggle source

Determine if the current architecture is 32-bit ARM hard float.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 123
def armhf?(node = __getnode)
  %w{armv6l armv7l armhf}.include?(node["kernel"]["machine"])
end
i386?(node = __getnode) click to toggle source

Determine if the current architecture is i386.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 53
def i386?(node = __getnode)
  _32_bit?(node) && intel?(node)
end
intel?(node = __getnode) click to toggle source

Determine if the current architecture is Intel.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 63
def intel?(node = __getnode)
  %w{i86pc i386 x86_64 amd64 i686}.include?(node["kernel"]["machine"])
end
powerpc?(node = __getnode) click to toggle source

Determine if the current architecture is PowerPC.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 103
def powerpc?(node = __getnode)
  %w{powerpc}.include?(node["kernel"]["machine"])
end
ppc64?(node = __getnode) click to toggle source

Determine if the current architecture is PowerPC 64bit Big Endian.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 83
def ppc64?(node = __getnode)
  %w{ppc64}.include?(node["kernel"]["machine"])
end
ppc64le?(node = __getnode) click to toggle source

Determine if the current architecture is PowerPC 64bit Little Endian.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 93
def ppc64le?(node = __getnode)
  %w{ppc64le}.include?(node["kernel"]["machine"])
end
s390?(node = __getnode) click to toggle source

Determine if the current architecture is s390.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 143
def s390?(node = __getnode)
  %w{s390}.include?(node["kernel"]["machine"])
end
s390x?(node = __getnode) click to toggle source

Determine if the current architecture is s390x.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 133
def s390x?(node = __getnode)
  %w{s390x}.include?(node["kernel"]["machine"])
end
sparc?(node = __getnode) click to toggle source

Determine if the current architecture is SPARC.

@since 15.5

@return [Boolean]

# File lib/chef-utils/dsl/architecture.rb, line 73
def sparc?(node = __getnode)
  %w{sun4u sun4v}.include?(node["kernel"]["machine"])
end