mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-25 06:03:36 +03:00
Merge branch 'master' of opennebula.org:one
This commit is contained in:
commit
c9f8e69992
@ -35,53 +35,25 @@ OpenNebula 1.5.0
|
||||
Copyright 2002-2010, OpenNebula Project Leads (OpenNebula.org)
|
||||
EOT
|
||||
|
||||
def initialize
|
||||
def initialize(standard_options=nil)
|
||||
@options=Hash.new
|
||||
|
||||
if standard_options
|
||||
@standard_options=standard_options
|
||||
else
|
||||
@standard_options=[:list, :top, :xml]
|
||||
end
|
||||
|
||||
@cmdparse=OptionParser.new do |opts|
|
||||
opts.banner=text_banner
|
||||
|
||||
opts.on("-l x,y,z", "--list x,y,z", Array,
|
||||
"Selects columns to display with list", "command") do |o|
|
||||
@options[:list]=o.collect {|c| c.to_sym }
|
||||
end
|
||||
execute_standard_options(opts, @options)
|
||||
special_options(opts, @options)
|
||||
|
||||
opts.on("--list-columns", "Information about the columns available",
|
||||
"to display, order or filter") do |o|
|
||||
puts list_options
|
||||
exit
|
||||
end
|
||||
|
||||
opts.on("-o x,y,z", "--order x,y,z", Array,
|
||||
"Order by these columns, column starting",
|
||||
"with - means decreasing order") do |o|
|
||||
@options[:order]=o
|
||||
end
|
||||
|
||||
opts.on("-f x,y,z", "--filter x,y,z", Array,
|
||||
"Filter data. An array is specified", "with column=value pairs.") do |o|
|
||||
@options[:filter]=Hash.new
|
||||
o.each {|i|
|
||||
k,v=i.split('=')
|
||||
@options[:filter][k]=v
|
||||
}
|
||||
end
|
||||
|
||||
opts.on("-d seconds", "--delay seconds", Integer,
|
||||
"Sets the delay in seconds for top", "command") do |o|
|
||||
@options[:delay]=o
|
||||
end
|
||||
|
||||
opts.on("-v", "--verbose",
|
||||
opts.on("-v", "--verbose",
|
||||
"Tells more information if the command",
|
||||
"is successful") do |o|
|
||||
@options[:verbose]=true
|
||||
end
|
||||
|
||||
opts.on("-x", "--xml",
|
||||
"Returns xml instead of human readable text") do |o|
|
||||
@options[:xml]=true
|
||||
end
|
||||
|
||||
opts.on_tail("-h", "--help", "Shows this help message") do |o|
|
||||
print_help
|
||||
@ -105,6 +77,62 @@ EOT
|
||||
end
|
||||
end
|
||||
|
||||
def opts_list(opts, options)
|
||||
opts.on("-l x,y,z", "--list x,y,z", Array,
|
||||
"Selects columns to display with list", "command") do |o|
|
||||
options[:list]=o.collect {|c| c.to_sym }
|
||||
end
|
||||
|
||||
opts.on("--list-columns", "Information about the columns available",
|
||||
"to display, order or filter") do |o|
|
||||
puts list_options
|
||||
exit
|
||||
end
|
||||
|
||||
opts.on("-o x,y,z", "--order x,y,z", Array,
|
||||
"Order by these columns, column starting",
|
||||
"with - means decreasing order") do |o|
|
||||
options[:order]=o
|
||||
end
|
||||
|
||||
opts.on("-f x,y,z", "--filter x,y,z", Array,
|
||||
"Filter data. An array is specified", "with column=value pairs.") do |o|
|
||||
options[:filter]=Hash.new
|
||||
o.each {|i|
|
||||
k,v=i.split('=')
|
||||
options[:filter][k]=v
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def opts_top(opts, options)
|
||||
opts.on("-d seconds", "--delay seconds", Integer,
|
||||
"Sets the delay in seconds for top", "command") do |o|
|
||||
options[:delay]=o
|
||||
end
|
||||
end
|
||||
|
||||
def opts_xml(opts, options)
|
||||
opts.on("-x", "--xml",
|
||||
"Returns xml instead of human readable text") do |o|
|
||||
options[:xml]=true
|
||||
end
|
||||
end
|
||||
|
||||
def set_standard_options(options)
|
||||
@standard_options=options
|
||||
end
|
||||
|
||||
def execute_standard_options(opts, options)
|
||||
@standard_options.each do |op|
|
||||
sym="opts_#{op}".to_sym
|
||||
self.send(sym, opts, options) if self.respond_to?(sym)
|
||||
end
|
||||
end
|
||||
|
||||
def special_options(opts, options)
|
||||
end
|
||||
|
||||
def options
|
||||
@options
|
||||
end
|
||||
|
@ -120,10 +120,16 @@ EOT
|
||||
table=ShowTable.new(ShowTableUP)
|
||||
table.print_help
|
||||
end
|
||||
|
||||
|
||||
def special_options(opts, options)
|
||||
opts.on_tail("-n", "--no-hash", "Store plain password "<<
|
||||
"into the database") do |o|
|
||||
options[:no_hash]=true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
oneup_opts=OneUPParse.new
|
||||
oneup_opts=OneUPParse.new([:list])
|
||||
oneup_opts.parse(ARGV)
|
||||
ops=oneup_opts.options
|
||||
|
||||
@ -136,8 +142,12 @@ when "create"
|
||||
check_parameters("create", 2)
|
||||
user=OpenNebula::User.new(
|
||||
OpenNebula::User.build_xml, get_one_client)
|
||||
sha_password = Digest::SHA1.hexdigest(ARGV[1])
|
||||
result=user.allocate(ARGV[0],sha_password)
|
||||
if ops[:no_hash]
|
||||
sha_password = ARGV[1]
|
||||
else
|
||||
sha_password = Digest::SHA1.hexdigest(ARGV[1])
|
||||
end
|
||||
result=user.allocate(ARGV[0], sha_password)
|
||||
if !OpenNebula.is_error?(result)
|
||||
puts "ID: " + user.id.to_s if ops[:verbose]
|
||||
exit 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user