mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
parent
724e96533e
commit
c40f1f11db
@ -87,6 +87,14 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
:description => 'lock all actions'
|
||||
}
|
||||
|
||||
PREFIX = {
|
||||
:name => 'prefix',
|
||||
:large => '--prefix prefix',
|
||||
:description => 'Prefix to autogenerate name, e.g: 001, 01',
|
||||
:format => String
|
||||
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
@ -102,7 +110,8 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
OneTemplateHelper::MULTIPLE,
|
||||
OneTemplateHelper::USERDATA,
|
||||
OneVMHelper::HOLD,
|
||||
OneTemplateHelper::PERSISTENT
|
||||
OneTemplateHelper::PERSISTENT,
|
||||
PREFIX
|
||||
]
|
||||
|
||||
########################################################################
|
||||
@ -252,16 +261,37 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
number = options[:multiple] || 1
|
||||
user_inputs = options[:user_inputs]
|
||||
|
||||
number.times do |i|
|
||||
exit_code = helper.perform_action(args[0], options,
|
||||
'instantiated') do |t|
|
||||
name = options[:name]
|
||||
name = name.gsub('%i', i.to_s) if name
|
||||
number.times.each_with_index do |i, index|
|
||||
exit_code = helper.perform_action(
|
||||
args[0],
|
||||
options,
|
||||
'instantiated'
|
||||
) do |t|
|
||||
name = options[:name]
|
||||
prefix = options[:prefix]
|
||||
c_i = nil
|
||||
p = nil
|
||||
|
||||
on_hold = !options[:hold].nil?
|
||||
if prefix && name
|
||||
# Get leading zeros
|
||||
p = prefix.scan(/^0+/)[0]
|
||||
|
||||
# Get current index
|
||||
c_i = prefix.gsub(p, '') if p
|
||||
|
||||
# Convert it to Integer to check if we can use it
|
||||
begin
|
||||
c_i = Integer(c_i)
|
||||
name = name.gsub('%i', "#{p}#{c_i + index}")
|
||||
rescue StandardError
|
||||
end
|
||||
elsif name
|
||||
name = name.gsub('%i', i.to_s)
|
||||
end
|
||||
|
||||
on_hold = !options[:hold].nil?
|
||||
extra_template = ''
|
||||
rc = t.info
|
||||
rc = t.info
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
STDERR.puts rc.message
|
||||
@ -281,6 +311,10 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
extra_template = res.last
|
||||
end
|
||||
|
||||
if c_i
|
||||
extra_template.gsub!('%i', "#{p}#{c_i + index}")
|
||||
end
|
||||
|
||||
if !user_inputs
|
||||
user_inputs = OneTemplateHelper.get_user_inputs(t.to_hash)
|
||||
else
|
||||
|
@ -87,6 +87,14 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
:description => 'lock all actions'
|
||||
}
|
||||
|
||||
PREFIX = {
|
||||
:name => 'prefix',
|
||||
:large => '--prefix prefix',
|
||||
:description => 'Prefix to autogenerate name, e.g: 001, 01',
|
||||
:format => String
|
||||
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
@ -102,7 +110,8 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
OneVNTemplateHelper::MULTIPLE,
|
||||
OneVNTemplateHelper::EXTENDED,
|
||||
OpenNebulaHelper::AS_USER,
|
||||
OpenNebulaHelper::AS_GROUP
|
||||
OpenNebulaHelper::AS_GROUP,
|
||||
PREFIX
|
||||
]
|
||||
|
||||
########################################################################
|
||||
@ -204,10 +213,32 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
number = options[:multiple] || 1
|
||||
|
||||
number.times do |i|
|
||||
exit_code = helper.perform_action(args[0], options,
|
||||
'instantiated') do |t|
|
||||
name = options[:name]
|
||||
name = name.gsub('%i', i.to_s) if name
|
||||
exit_code = helper.perform_action(
|
||||
args[0],
|
||||
options,
|
||||
'instantiated'
|
||||
) do |t|
|
||||
name = options[:name]
|
||||
prefix = options[:prefix]
|
||||
c_i = nil
|
||||
p = nil
|
||||
|
||||
if prefix && name
|
||||
# Get leading zeros
|
||||
p = prefix.scan(/^0+/)[0]
|
||||
|
||||
# Get current index
|
||||
c_i = prefix.gsub(p, '') if p
|
||||
|
||||
# Convert it to Integer to check if we can use it
|
||||
begin
|
||||
c_i = Integer(c_i)
|
||||
name = name.gsub('%i', "#{p}#{c_i + index}")
|
||||
rescue StandardError
|
||||
end
|
||||
elsif name
|
||||
name = name.gsub('%i', i.to_s)
|
||||
end
|
||||
|
||||
extra_template = ''
|
||||
rc = t.info
|
||||
@ -234,6 +265,10 @@ CommandParser::CmdParser.new(ARGV) do
|
||||
end
|
||||
end
|
||||
|
||||
if c_i
|
||||
extra_template.gsub!('%i', "#{p}#{c_i + index}")
|
||||
end
|
||||
|
||||
res = t.instantiate(name, extra_template)
|
||||
|
||||
if !OpenNebula.is_error?(res)
|
||||
|
Loading…
x
Reference in New Issue
Block a user