class Chef::Knife
Public Instance Methods
get_networks(names, rackconnect3 = false)
click to toggle source
# File lib/chef/knife/rackspace_server_create.rb, line 649 def get_networks(names, rackconnect3 = false) names = Array(names) if locate_config_value(:rackspace_version) == "v2" nets = if rackconnect3 [locate_config_value(:rackconnect_v3_network_id)] elsif locate_config_value(:default_networks) %w{ 00000000-0000-0000-0000-000000000000 11111111-1111-1111-1111-111111111111 } else [] end available_networks = connection.networks.all names.each do |name| net = available_networks.detect { |n| n.label == name || n.id == name } if net nets << net.id else ui.error("Failed to locate network: #{name}") exit 1 end end nets elsif names && !names.empty? ui.error("Custom networks are only available in v2 API") exit 1 end end
get_node_name(chef_node_name)
click to toggle source
v2 servers require a name, random if chef_node_name is empty, empty if v1
# File lib/chef/knife/rackspace_server_create.rb, line 642 def get_node_name(chef_node_name) return chef_node_name unless chef_node_name.nil? # lazy uuids chef_node_name = "rs-" + rand.to_s.split(".")[1] unless version_one? end