class Management::Server::Create
Public Instance Methods
current_user()
click to toggle source
# File lib/management/commands/server/create.rb, line 31 def current_user `git config user.name`.strip rescue "unknown" end
make_unique_server_name(env_name, type_name, servers)
click to toggle source
# File lib/management/commands/server/create.rb, line 37 def make_unique_server_name(env_name, type_name, servers) (1..Float::INFINITY).each do |i| name = "#{env_name}-#{type_name}-#{i}" if servers.find{|s|s.name == name} i += 1 else return name end end end
run(env_name, type_name)
click to toggle source
# File lib/management/commands/server/create.rb, line 11 def run(env_name, type_name) env = get_env(env_name) type = get_type(type_name) servers = live_servers name = make_unique_server_name(env_name, type_name, servers) puts "Creating \"#{name}\"..." cloud.servers.create(type.merge({tags: { "Creator" => current_user, "CreatedAt" => Time.new.strftime("%Y%m%d%H%M%S"), "Name" => name, "Env" => env_name, "Meal" => type_name, }})) puts "Done." end