summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2021-12-14 12:15:17 -0800
committerGitHub <noreply@github.com>2021-12-14 12:15:17 -0800
commit2650d2687ca01efb65e962bf53267d0ef102d478 (patch)
treeed3b33f1a751c284cd628f17b47cc1edc5a87f02
parent587f7891e9fbadd22380bf89b78bba65ce42ed48 (diff)
parent1b2d9cf51eaacdda0ad676fd34779b98f542d015 (diff)
downloadchef-2650d2687ca01efb65e962bf53267d0ef102d478.tar.gz
Merge pull request #12358 from tecracer-theinen/feature/vmware-helpers
Add helpers to detect VMware desktop vs server platforms
-rw-r--r--chef-utils/lib/chef-utils/dsl/virtualization.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/chef-utils/lib/chef-utils/dsl/virtualization.rb b/chef-utils/lib/chef-utils/dsl/virtualization.rb
index d2c1c5b531..599651c612 100644
--- a/chef-utils/lib/chef-utils/dsl/virtualization.rb
+++ b/chef-utils/lib/chef-utils/dsl/virtualization.rb
@@ -140,6 +140,28 @@ module ChefUtils
node.dig("virtualization", "system") == "vmware" && node.dig("virtualization", "role") == "host"
end
+ # Determine if the current node is virtualized on VMware Desktop (Fusion/Player/Workstation).
+ #
+ # @param [Chef::Node] node
+ # @since 17.9
+ #
+ # @return [Boolean]
+ #
+ def vmware_desktop?(node = __getnode)
+ node.dig("virtualization", "system") == "vmware" && node.dig("vmware", "host", "type") == "vmware_desktop"
+ end
+
+ # Determine if the current node is virtualized on VMware vSphere (ESX).
+ #
+ # @param [Chef::Node] node
+ # @since 17.9
+ #
+ # @return [Boolean]
+ #
+ def vmware_vsphere?(node = __getnode)
+ node.dig("virtualization", "system") == "vmware" && node.dig("vmware", "host", "type") == "vmware_vsphere"
+ end
+
# Determine if the current node is an openvz guest.
#
# @param [Chef::Node] node