class Tengine::Resource::CLI::Server
Public Instance Methods
add(name, *args)
click to toggle source
def add(name, options = {})
# File lib/tengine/resource/cli/server.rb, line 36 def add(name, *args) opts = merge_options(args, options) config_mongoid Tengine::Resource::Provider.manual.tap do |provider| server = provider.physical_servers.create!({ name: name, provided_id: name, addresses: opts[:addresses] || {}, properties: opts[:properties] || {} }) $stdout.puts "server created successfully!: #{server.to_json}" end end
list(*args)
click to toggle source
# File lib/tengine/resource/cli/server.rb, line 10 def list(*args) opts = merge_options(args, options) config_mongoid require 'text-table' res = [%w[provider virtual? name status addresses created_at updated_at]] sort_options = {(opts[:sort] || "name").to_sym => 1} sort_options[:name] = 1 # 同じ時刻などのソートキーが決まらない場合を想定して名前もソートキーに入れる Tengine::Resource::Server.all.order_by(sort_options).each do |server| res << [ server.provider ? server.provider.name : "-", server.is_a?(Tengine::Resource::VirtualServer) ? "virtual" : "physical", server.name, server.status, server.addresses.to_json, server.created_at.iso8601, server.updated_at.iso8601, ] end $stdout.puts res.to_table(:first_row_is_head => true) res end
remove(name)
click to toggle source
# File lib/tengine/resource/cli/server.rb, line 51 def remove(name) config_mongoid Tengine::Resource::Provider.manual.tap do |provider| if server = provider.physical_servers.where({name: name}).first server.destroy $stdout.puts "server was destroyed successfully!: #{name}" else raise "server \"#{name}\" not found under provider \"#{provider.name}\"" end end end