opennebula-cli 4.4.0 → 4.5.80.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/NOTICE +1 -1
- data/bin/oneacct +28 -4
- data/bin/oneacl +3 -3
- data/bin/onecluster +1 -1
- data/bin/onedatastore +1 -1
- data/bin/oneflow +1 -1
- data/bin/oneflow-template +1 -1
- data/bin/onegroup +103 -5
- data/bin/onehost +2 -2
- data/bin/oneimage +1 -1
- data/bin/onetemplate +1 -1
- data/bin/oneuser +2 -2
- data/bin/onevm +1 -1
- data/bin/onevnet +1 -1
- data/bin/onezone +145 -0
- data/lib/cli_helper.rb +73 -17
- data/lib/command_parser.rb +1 -1
- data/lib/one_helper.rb +136 -21
- data/lib/one_helper/oneacct_helper.rb +7 -3
- data/lib/one_helper/oneacl_helper.rb +11 -5
- data/lib/one_helper/onecluster_helper.rb +1 -1
- data/lib/one_helper/onedatastore_helper.rb +1 -1
- data/lib/one_helper/onegroup_helper.rb +114 -25
- data/lib/one_helper/onehost_helper.rb +2 -2
- data/lib/one_helper/oneimage_helper.rb +1 -1
- data/lib/one_helper/onequota_helper.rb +1 -1
- data/lib/one_helper/onetemplate_helper.rb +1 -1
- data/lib/one_helper/oneuser_helper.rb +44 -22
- data/lib/one_helper/onevm_helper.rb +1 -1
- data/lib/one_helper/onevnet_helper.rb +1 -1
- data/lib/one_helper/onezone_helper.rb +104 -0
- metadata +14 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d0a7a6d4a5861896dcea19d5bd0901864e93cf8
|
4
|
+
data.tar.gz: 3348c3fbf038afce1e154ed5d17cf94819c663a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30d8c96ff0feaffd28f8c13a180d4118e40e12c95f994d4336d72efff7a6fb2f58cd69aa28bb9955c17bba52d51e8c2a95386d33f2777e5997151279c2c94c89
|
7
|
+
data.tar.gz: 3f283c2538ee84ff6f5d4341f8b9f0ff854731de9e358489f73a9be7ba7a6a69dc7573b3340101ea12ae4ed3810c21944d4510a0863db77a1ad0193a89daf3c5
|
data/NOTICE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
OpenNebula Open Source Project
|
2
2
|
--------------------------------------------------------------------------------
|
3
|
-
Copyright 2002-
|
3
|
+
Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs
|
4
4
|
--------------------------------------------------------------------------------
|
5
5
|
|
6
6
|
You can find more information about the project, release notes and
|
data/bin/oneacct
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -44,9 +44,15 @@ cmd = CommandParser::CmdParser.new(ARGV) do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
option AcctHelper::ACCT_OPTIONS + CommandParser::OPTIONS +
|
47
|
+
[OpenNebulaHelper::DESCRIBE, CLIHelper::LIST, CLIHelper::CSV] +
|
47
48
|
OpenNebulaHelper::CLIENT_OPTIONS
|
48
49
|
|
49
50
|
main do
|
51
|
+
if options[:describe]
|
52
|
+
AcctHelper::ACCT_TABLE.describe_columns
|
53
|
+
exit(0)
|
54
|
+
end
|
55
|
+
|
50
56
|
filter_flag = (options[:userfilter] || VirtualMachinePool::INFO_ALL)
|
51
57
|
start_time = options[:start_time] ? options[:start_time].to_i : -1
|
52
58
|
end_time = options[:end_time] ? options[:end_time].to_i : -1
|
@@ -81,7 +87,10 @@ cmd = CommandParser::CmdParser.new(ARGV) do
|
|
81
87
|
else
|
82
88
|
order_by = Hash.new
|
83
89
|
order_by[:order_by_1] = 'VM/UID'
|
84
|
-
|
90
|
+
|
91
|
+
if options[:split] && !options[:csv]
|
92
|
+
order_by[:order_by_2] = 'VM/ID'
|
93
|
+
end
|
85
94
|
|
86
95
|
acct_hash = pool.accounting(filter_flag,
|
87
96
|
common_opts.merge(order_by))
|
@@ -90,6 +99,21 @@ cmd = CommandParser::CmdParser.new(ARGV) do
|
|
90
99
|
exit -1
|
91
100
|
end
|
92
101
|
|
102
|
+
if options[:csv]
|
103
|
+
a=Array.new
|
104
|
+
acct_hash.each do |user_id, value|
|
105
|
+
value['HISTORY_RECORDS']['HISTORY'].each do |l|
|
106
|
+
l['UID']=user_id
|
107
|
+
a << l
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
cols=AcctHelper::ACCT_TABLE.default_columns
|
112
|
+
AcctHelper::ACCT_TABLE.default(:UID, *cols)
|
113
|
+
|
114
|
+
AcctHelper::ACCT_TABLE.show(a, options)
|
115
|
+
exit(0)
|
116
|
+
end
|
93
117
|
|
94
118
|
if ( start_time != -1 or end_time != -1 )
|
95
119
|
AcctHelper.print_start_end_time_header(start_time, end_time)
|
@@ -102,13 +126,13 @@ cmd = CommandParser::CmdParser.new(ARGV) do
|
|
102
126
|
# Use one table for each VM
|
103
127
|
value.each { |vm_id, history_array|
|
104
128
|
array = history_array['HISTORY_RECORDS']['HISTORY']
|
105
|
-
AcctHelper::ACCT_TABLE.show(array)
|
129
|
+
AcctHelper::ACCT_TABLE.show(array, options)
|
106
130
|
puts
|
107
131
|
}
|
108
132
|
else
|
109
133
|
# Use the same table for all the VMs
|
110
134
|
array = value['HISTORY_RECORDS']['HISTORY']
|
111
|
-
AcctHelper::ACCT_TABLE.show(array)
|
135
|
+
AcctHelper::ACCT_TABLE.show(array, options)
|
112
136
|
puts
|
113
137
|
end
|
114
138
|
}
|
data/bin/oneacl
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -69,10 +69,10 @@ cmd = CommandParser::CmdParser.new(ARGV) do
|
|
69
69
|
if OpenNebula.is_error?(new_args)
|
70
70
|
next -1, new_args.message
|
71
71
|
end
|
72
|
-
when 3
|
72
|
+
when 3, 4
|
73
73
|
new_args=args
|
74
74
|
else
|
75
|
-
next -1, "Wrong number of arguments, must be 1 or
|
75
|
+
next -1, "Wrong number of arguments, must be 1 or 4"
|
76
76
|
end
|
77
77
|
|
78
78
|
helper.create_resource(options) do |rule|
|
data/bin/onecluster
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/onedatastore
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/oneflow
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2010-
|
4
|
+
# Copyright 2010-2014, C12G Labs S.L. #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/oneflow-template
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2010-
|
4
|
+
# Copyright 2010-2014, C12G Labs S.L. #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/onegroup
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -61,20 +61,89 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
61
61
|
helper.list_to_id(arg)
|
62
62
|
end
|
63
63
|
|
64
|
+
set :format, :clusterid, OpenNebulaHelper.rname_to_id_desc("CLUSTER") do |arg|
|
65
|
+
OpenNebulaHelper.rname_to_id(arg, "CLUSTER")
|
66
|
+
end
|
67
|
+
|
68
|
+
set :format, :zoneid, OpenNebulaHelper.rname_to_id_desc("ZONE") do |arg|
|
69
|
+
OpenNebulaHelper.rname_to_id(arg, "ZONE")
|
70
|
+
end
|
71
|
+
|
64
72
|
########################################################################
|
65
73
|
# Commands
|
66
74
|
########################################################################
|
67
75
|
|
68
76
|
create_desc = <<-EOT.unindent
|
69
|
-
Creates a new Group
|
77
|
+
Creates a new Group. A group name can be passed as the only argument,
|
78
|
+
or a file containing a group template or via command line arguments
|
79
|
+
|
80
|
+
Examples:
|
81
|
+
|
82
|
+
- using a template description file:
|
83
|
+
|
84
|
+
onegroup create group_description.tmpl
|
85
|
+
|
86
|
+
- create a group with admin group, admin user and allow group users
|
87
|
+
to only create new templates and VMs, and group admins to manage
|
88
|
+
templates, vms, images and virtual networks
|
89
|
+
|
90
|
+
onegroup create --name groupA --admin_group admin_groupA
|
91
|
+
--admin_user admin_userA --admin_password somestr
|
92
|
+
--resource TEMPLATE+VM
|
93
|
+
--admin_resources TEMPLATE+VM+IMAGE+NET
|
94
|
+
|
70
95
|
EOT
|
71
96
|
|
72
|
-
command :create, create_desc, :
|
73
|
-
|
74
|
-
|
97
|
+
command :create, create_desc, [:group_name, nil], :options =>
|
98
|
+
OpenNebulaHelper::GROUP_OPTIONS do
|
99
|
+
|
100
|
+
|
101
|
+
if !args[0] && options.empty?
|
102
|
+
STDERR.puts "Please use either a group name or command arguments"
|
103
|
+
next -1
|
104
|
+
end
|
105
|
+
|
106
|
+
if options && options[:admin_user]
|
107
|
+
if !options[:admin_password]
|
108
|
+
STDERR.puts "Admin user needs password"
|
109
|
+
next -1
|
110
|
+
end
|
111
|
+
|
112
|
+
admin_user=Hash.new
|
113
|
+
admin_user[:name] = options[:admin_user]
|
114
|
+
admin_user[:password] = options[:admin_password]
|
115
|
+
if options[:admin_driver]
|
116
|
+
admin_user[:auth_driver] = options[:admin_driver]
|
117
|
+
end
|
118
|
+
options[:user] = admin_user
|
119
|
+
end
|
120
|
+
|
121
|
+
if !options.empty?
|
122
|
+
helper.create_complete_resource(options)
|
123
|
+
elsif args[0]
|
124
|
+
options[:name] = args[0]
|
125
|
+
helper.create_complete_resource(options)
|
75
126
|
end
|
76
127
|
end
|
77
128
|
|
129
|
+
update_desc = <<-EOT.unindent
|
130
|
+
Update the template contents. If a path is not provided the editor will
|
131
|
+
be launched to modify the current content.
|
132
|
+
EOT
|
133
|
+
|
134
|
+
command :update, update_desc, :groupid, [:file, nil],
|
135
|
+
:options=>OpenNebulaHelper::APPEND do
|
136
|
+
helper.perform_action(args[0],options,"modified") do |obj|
|
137
|
+
if options[:append]
|
138
|
+
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
139
|
+
else
|
140
|
+
str = OpenNebulaHelper.update_template(args[0], obj, args[1])
|
141
|
+
end
|
142
|
+
|
143
|
+
obj.update(str, options[:append])
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
78
147
|
delete_desc = <<-EOT.unindent
|
79
148
|
Deletes the given Group
|
80
149
|
EOT
|
@@ -174,4 +243,33 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
174
243
|
|
175
244
|
exit 0
|
176
245
|
end
|
246
|
+
|
247
|
+
add_provider_desc = <<-EOT.unindent
|
248
|
+
Adds a resource provider (cluster of a zone) to the given group.
|
249
|
+
clusterid can be set to ALL
|
250
|
+
EOT
|
251
|
+
|
252
|
+
command :add_provider, add_provider_desc, [:range, :groupid_list], :zoneid, :clusterid do
|
253
|
+
if args[2] and args[2].class != Fixnum and args[2].upcase == "ALL"
|
254
|
+
args[2]=10
|
255
|
+
end
|
256
|
+
|
257
|
+
helper.perform_actions(args[0],options,"resource provider added") do |obj|
|
258
|
+
obj.add_provider(args[1].to_i, args[2].to_i)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
del_provider_desc = <<-EOT.unindent
|
263
|
+
Deletes a resource provider (cluster of a zone) from the given group
|
264
|
+
clusterid can be set to ALL
|
265
|
+
EOT
|
266
|
+
|
267
|
+
command :del_provider, del_provider_desc, [:range, :groupid_list], :zoneid, :clusterid do
|
268
|
+
if args[2] and args[2].class != Fixnum and args[2].upcase == "ALL"
|
269
|
+
args[2]=10
|
270
|
+
end
|
271
|
+
helper.perform_actions(args[0],options,"resource provider deleted") do |obj|
|
272
|
+
obj.del_provider(args[1].to_i, args[2].to_i)
|
273
|
+
end
|
274
|
+
end
|
177
275
|
end
|
data/bin/onehost
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -20,7 +20,7 @@ ONE_LOCATION=ENV["ONE_LOCATION"]
|
|
20
20
|
|
21
21
|
if !ONE_LOCATION
|
22
22
|
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
23
|
-
REMOTES_LOCATION="/var/lib/one/remotes"
|
23
|
+
REMOTES_LOCATION="/var/lib/one/remotes/"
|
24
24
|
else
|
25
25
|
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
26
26
|
REMOTES_LOCATION=ONE_LOCATION+"/var/remotes/"
|
data/bin/oneimage
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/onetemplate
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/oneuser
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -40,7 +40,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
40
40
|
helper = OneUserHelper.new
|
41
41
|
|
42
42
|
before_proc do
|
43
|
-
helper.set_client(options)
|
43
|
+
helper.set_client(options) if @comm_name != :login
|
44
44
|
end
|
45
45
|
|
46
46
|
########################################################################
|
data/bin/onevm
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/onevnet
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
data/bin/onezone
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# -------------------------------------------------------------------------- #
|
4
|
+
# Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
|
5
|
+
# #
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
|
+
# not use this file except in compliance with the License. You may obtain #
|
8
|
+
# a copy of the License at #
|
9
|
+
# #
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0 #
|
11
|
+
# #
|
12
|
+
# Unless required by applicable law or agreed to in writing, software #
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS, #
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
15
|
+
# See the License for the specific language governing permissions and #
|
16
|
+
# limitations under the License. #
|
17
|
+
#--------------------------------------------------------------------------- #
|
18
|
+
|
19
|
+
ONE_LOCATION=ENV["ONE_LOCATION"]
|
20
|
+
|
21
|
+
if !ONE_LOCATION
|
22
|
+
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
23
|
+
else
|
24
|
+
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
25
|
+
end
|
26
|
+
|
27
|
+
$: << RUBY_LIB_LOCATION
|
28
|
+
$: << RUBY_LIB_LOCATION+"/cli"
|
29
|
+
|
30
|
+
require 'command_parser'
|
31
|
+
require 'one_helper/onezone_helper'
|
32
|
+
|
33
|
+
cmd=CommandParser::CmdParser.new(ARGV) do
|
34
|
+
usage "`onezone` <command> [<args>] [<options>]"
|
35
|
+
version OpenNebulaHelper::ONE_VERSION
|
36
|
+
|
37
|
+
helper = OneZoneHelper.new
|
38
|
+
|
39
|
+
before_proc do
|
40
|
+
helper.set_client(options)
|
41
|
+
end
|
42
|
+
|
43
|
+
########################################################################
|
44
|
+
# Global Options
|
45
|
+
########################################################################
|
46
|
+
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
47
|
+
|
48
|
+
list_options = CLIHelper::OPTIONS
|
49
|
+
list_options << OpenNebulaHelper::XML
|
50
|
+
list_options << OpenNebulaHelper::NUMERIC
|
51
|
+
list_options << OpenNebulaHelper::DESCRIBE
|
52
|
+
|
53
|
+
########################################################################
|
54
|
+
# Formatters for arguments
|
55
|
+
########################################################################
|
56
|
+
set :format, :zoneid, OneZoneHelper.to_id_desc do |arg|
|
57
|
+
helper.to_id(arg)
|
58
|
+
end
|
59
|
+
|
60
|
+
set :format, :zoneid_list, OneZoneHelper.list_to_id_desc do |arg|
|
61
|
+
helper.list_to_id(arg)
|
62
|
+
end
|
63
|
+
|
64
|
+
########################################################################
|
65
|
+
# Commands
|
66
|
+
########################################################################
|
67
|
+
|
68
|
+
create_desc = <<-EOT.unindent
|
69
|
+
Creates a new Zone
|
70
|
+
EOT
|
71
|
+
|
72
|
+
command :create, create_desc, :file do
|
73
|
+
helper.create_resource(options) do |zone|
|
74
|
+
begin
|
75
|
+
template = File.read(args[0])
|
76
|
+
zone.allocate(template)
|
77
|
+
rescue => e
|
78
|
+
STDERR.puts e.message
|
79
|
+
exit -1
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
rename_desc = <<-EOT.unindent
|
85
|
+
Renames the Zone
|
86
|
+
EOT
|
87
|
+
|
88
|
+
command :rename, rename_desc, :zoneid, :name do
|
89
|
+
helper.perform_action(args[0],options,"renamed") do |o|
|
90
|
+
o.rename(args[1])
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
update_desc = <<-EOT.unindent
|
95
|
+
Update the template contents. If a path is not provided the editor will
|
96
|
+
be launched to modify the current content.
|
97
|
+
EOT
|
98
|
+
|
99
|
+
command :update, update_desc, :zoneid, [:file, nil],
|
100
|
+
:options=>OpenNebulaHelper::APPEND do
|
101
|
+
helper.perform_action(args[0],options,"modified") do |obj|
|
102
|
+
if options[:append]
|
103
|
+
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
104
|
+
else
|
105
|
+
str = OpenNebulaHelper.update_template(args[0], obj, args[1])
|
106
|
+
end
|
107
|
+
|
108
|
+
obj.update(str, options[:append])
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
delete_desc = <<-EOT.unindent
|
113
|
+
Deletes the given Zone
|
114
|
+
EOT
|
115
|
+
|
116
|
+
command :delete, delete_desc, [:range, :zoneid_list] do
|
117
|
+
helper.perform_actions(args[0],options,"deleted") do |obj|
|
118
|
+
obj.delete
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
list_desc = <<-EOT.unindent
|
123
|
+
Lists Zones in the pool
|
124
|
+
EOT
|
125
|
+
|
126
|
+
command :list, list_desc, :options=>list_options do
|
127
|
+
helper.list_pool(options)
|
128
|
+
end
|
129
|
+
|
130
|
+
show_desc = <<-EOT.unindent
|
131
|
+
Shows information for the given Zone
|
132
|
+
EOT
|
133
|
+
|
134
|
+
command :show, show_desc,:zoneid, :options=>OpenNebulaHelper::XML do
|
135
|
+
helper.show_resource(args[0],options)
|
136
|
+
end
|
137
|
+
|
138
|
+
set_desc = <<-EOT.unindent
|
139
|
+
Set shell session access point for the CLI to the given Zone
|
140
|
+
EOT
|
141
|
+
|
142
|
+
command :set, set_desc,:zoneid do
|
143
|
+
helper.set_zone(args[0])
|
144
|
+
end
|
145
|
+
end
|