fog-arubacloud 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.codeclimate.yml +0 -0
- data/.gitignore +0 -0
- data/.rubocop.yml +0 -0
- data/.ruby-version +0 -0
- data/.travis.yml +0 -0
- data/CONTRIBUTING.md +0 -0
- data/CONTRIBUTORS.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.md +0 -0
- data/README.md +3 -3
- data/Rakefile +99 -5
- data/{lib/fog/arubacloud/examples → examples}/create_pro_server.rb +3 -3
- data/{lib/fog/arubacloud/examples → examples}/create_smart_server.rb +0 -0
- data/{lib/fog/arubacloud/examples → examples}/get_objects.rb +1 -1
- data/{lib/fog/arubacloud/examples → examples}/get_servers.rb +0 -0
- data/{lib/fog/arubacloud/examples → examples}/vm_operations.rb +1 -1
- data/fog-arubacloud.gemspec +12 -12
- data/gemfiles/fog-arubacloud-0.0.4.gem +0 -0
- data/lib/fog/arubacloud/compute/models/custom_template.rb +60 -0
- data/lib/fog/arubacloud/compute/models/custom_templates.rb +19 -0
- data/lib/fog/arubacloud/{models/compute → compute/models}/disk.rb +6 -5
- data/lib/fog/arubacloud/{models/compute → compute/models}/disks.rb +7 -7
- data/lib/fog/arubacloud/{models/compute → compute/models}/ip.rb +6 -5
- data/lib/fog/arubacloud/{models/compute → compute/models}/ips.rb +6 -6
- data/lib/fog/arubacloud/compute/models/loadbalancer.rb +135 -0
- data/lib/fog/arubacloud/compute/models/loadbalancers.rb +21 -0
- data/lib/fog/arubacloud/{models/compute → compute/models}/network_adapter.rb +2 -2
- data/lib/fog/arubacloud/{models/compute → compute/models}/network_adapters.rb +4 -4
- data/lib/fog/arubacloud/compute/models/schedule.rb +90 -0
- data/lib/fog/arubacloud/compute/models/schedules.rb +19 -0
- data/lib/fog/arubacloud/{models/compute → compute/models}/server.rb +74 -35
- data/lib/fog/arubacloud/{models/compute → compute/models}/servers.rb +10 -9
- data/lib/fog/arubacloud/compute/models/sharedstorage.rb +58 -0
- data/lib/fog/arubacloud/compute/models/sharedstorages.rb +19 -0
- data/lib/fog/arubacloud/compute/models/snapshot.rb +58 -0
- data/lib/fog/arubacloud/compute/models/snapshots.rb +19 -0
- data/lib/fog/arubacloud/{models/compute → compute/models}/template.rb +2 -2
- data/lib/fog/arubacloud/{models/compute → compute/models}/templates.rb +10 -10
- data/lib/fog/arubacloud/compute/requests/add_contact.rb +59 -0
- data/lib/fog/arubacloud/compute/requests/add_instance.rb +56 -0
- data/lib/fog/arubacloud/compute/requests/add_lb_rule.rb +58 -0
- data/lib/fog/arubacloud/compute/requests/apply_snapshot.rb +53 -0
- data/lib/fog/arubacloud/compute/requests/archive_vm.rb +59 -0
- data/lib/fog/arubacloud/compute/requests/create_loadbalancer.rb +76 -0
- data/lib/fog/arubacloud/compute/requests/create_scheduled_occurrence.rb +71 -0
- data/lib/fog/arubacloud/compute/requests/create_scheduled_operation.rb +56 -0
- data/lib/fog/arubacloud/compute/requests/create_shared_storage.rb +55 -0
- data/lib/fog/arubacloud/compute/requests/create_snapshot.rb +54 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/create_vm_pro.rb +9 -14
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/create_vm_smart.rb +11 -15
- data/lib/fog/arubacloud/compute/requests/delete_custom_template.rb +43 -0
- data/lib/fog/arubacloud/compute/requests/delete_scheduled_operation.rb +43 -0
- data/lib/fog/arubacloud/compute/requests/delete_shared_storage.rb +49 -0
- data/lib/fog/arubacloud/compute/requests/delete_snapshot.rb +60 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/delete_vm.rb +13 -13
- data/lib/fog/arubacloud/compute/requests/disable_loadbalancer.rb +47 -0
- data/lib/fog/arubacloud/compute/requests/edit_shared_storage.rb +50 -0
- data/lib/fog/arubacloud/compute/requests/enable_loadbalancer.rb +47 -0
- data/lib/fog/arubacloud/compute/requests/get_custom_templates.rb +43 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_hypervisors.rb +8 -11
- data/lib/fog/arubacloud/compute/requests/get_lb_loads.rb +49 -0
- data/lib/fog/arubacloud/compute/requests/get_lb_stats.rb +49 -0
- data/lib/fog/arubacloud/compute/requests/get_loadbalancer.rb +47 -0
- data/lib/fog/arubacloud/compute/requests/get_notifications.rb +50 -0
- data/lib/fog/arubacloud/compute/requests/get_package_id.rb +60 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_purchased_ip_addresses.rb +7 -11
- data/lib/fog/arubacloud/compute/requests/get_scheduled_operations.rb +42 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_server_details.rb +7 -13
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_servers.rb +11 -14
- data/lib/fog/arubacloud/compute/requests/get_shared_storage.rb +43 -0
- data/lib/fog/arubacloud/compute/requests/manage_custom_template.rb +72 -0
- data/lib/fog/arubacloud/compute/requests/modify_loadbalancer.rb +49 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/power_off_vm.rb +8 -11
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/power_on_vm.rb +8 -11
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/purchase_ip.rb +7 -11
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/reinitialize_vm.rb +8 -14
- data/lib/fog/arubacloud/compute/requests/remove_contact.rb +48 -0
- data/lib/fog/arubacloud/compute/requests/remove_instance.rb +56 -0
- data/lib/fog/arubacloud/{requests/compute → compute/requests}/remove_ip.rb +7 -11
- data/lib/fog/arubacloud/compute/requests/remove_loadbalancer.rb +47 -0
- data/lib/fog/arubacloud/compute/requests/rename_shared_storage.rb +50 -0
- data/lib/fog/arubacloud/compute/requests/restore_vm.rb +61 -0
- data/lib/fog/arubacloud/compute/requests/suspend_scheduled_operations.rb +43 -0
- data/lib/fog/arubacloud/compute.rb +106 -22
- data/lib/fog/arubacloud/error.rb +4 -0
- data/lib/fog/arubacloud/service.rb +4 -2
- data/lib/fog/arubacloud/version.rb +3 -2
- data/lib/fog/arubacloud.rb +4 -12
- data/spec/fog/arubacloud/config_spec.rb +0 -0
- data/spec/fog/compute/arubacloud/models/disk_spec.rb +63 -0
- data/spec/fog/compute/arubacloud/models/disks_spec.rb +11 -0
- data/spec/fog/compute/arubacloud/models/ip_spec.rb +53 -0
- data/spec/fog/compute/arubacloud/models/ips_spec.rb +11 -0
- data/spec/fog/compute/arubacloud/models/loadbalancer_spec.rb +100 -0
- data/spec/fog/compute/arubacloud/models/loadbalancers_spec.rb +15 -0
- data/spec/fog/compute/arubacloud/models/network_adapter_spec.rb +33 -0
- data/spec/fog/compute/arubacloud/models/network_adapters_spec.rb +11 -0
- data/spec/fog/compute/arubacloud/models/schedule_spec.rb +102 -0
- data/spec/fog/compute/arubacloud/models/schedules_spec.rb +11 -0
- data/spec/fog/compute/arubacloud/models/server_spec.rb +155 -0
- data/spec/fog/compute/arubacloud/models/servers_spec.rb +15 -0
- data/spec/fog/compute/arubacloud/models/sharedstorage_spec.rb +86 -0
- data/spec/fog/compute/arubacloud/models/sharedstorages_spec.rb +10 -0
- data/spec/fog/compute/arubacloud/models/snapshot_spec.rb +17 -0
- data/spec/fog/compute/arubacloud/models/snapshots_spec.rb +11 -0
- data/spec/fog/compute/arubacloud/models/template_spec.rb +39 -0
- data/spec/fog/compute/arubacloud/models/templates_spec.rb +21 -0
- data/spec/fog/compute/arubacloud_spec.rb +21 -4
- data/spec/model_setup.rb +3 -1
- data/spec/spec_helper.rb +1 -1
- metadata +121 -48
- data/gemfiles/fog-arubacloud-0.0.1.gem +0 -0
- data/gemfiles/fog-arubacloud-0.0.2.gem +0 -0
- data/spec/fog/compute/arubacloud/server_spec.rb +0 -26
- data/spec/fog/compute/arubacloud/servers_spec.rb +0 -11
- data/tests/test_helper.rb +0 -8
@@ -0,0 +1,49 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def delete_shared_storage(data)
|
19
|
+
body = self.body('SetEnqueueRemoveSharedStorage').merge(
|
20
|
+
{
|
21
|
+
:SharedStorage => {
|
22
|
+
:storageId => data[:id]
|
23
|
+
}
|
24
|
+
}
|
25
|
+
)
|
26
|
+
response = nil
|
27
|
+
time = Benchmark.realtime {
|
28
|
+
response = request(body , 'SetEnqueueRemoveSharedStorage', 'SetEnqueueRemoveSharedStorage Error')
|
29
|
+
}
|
30
|
+
Fog::Logger.debug("SetEnqueueRemoveSharedStorage time: #{time}")
|
31
|
+
if response['Success']
|
32
|
+
response
|
33
|
+
else
|
34
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error in request.')
|
35
|
+
end
|
36
|
+
end # edit_shared_storage
|
37
|
+
|
38
|
+
class Mock
|
39
|
+
def edit_shared_storage
|
40
|
+
raise Fog::Errors::MockNotImplemented.new(
|
41
|
+
'Mock not implemented. Feel free to contribute.'
|
42
|
+
)
|
43
|
+
end # edit_shared_storage
|
44
|
+
end # Mock
|
45
|
+
end # Real
|
46
|
+
|
47
|
+
end # Compute
|
48
|
+
end # ArubaCloud
|
49
|
+
end # Fog
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
# Apply a snapshot on a VM
|
19
|
+
def delete_snapshot(data)
|
20
|
+
(service.servers).all.each do |server|
|
21
|
+
id = server.id if (server.name).include? data[:name]
|
22
|
+
end
|
23
|
+
body = self.body('SetEnqueueServerSnapshot').merge(
|
24
|
+
{
|
25
|
+
:Snapshot => {
|
26
|
+
:ServerId => id,
|
27
|
+
:SnapshotOperationTypes => 'Delete'
|
28
|
+
}
|
29
|
+
}
|
30
|
+
)
|
31
|
+
response = nil
|
32
|
+
time = Benchmark.realtime {
|
33
|
+
response = request(body , 'SetEnqueueServerSnapshot', 'SetEnqueueServerSnapshot Error')
|
34
|
+
}
|
35
|
+
Fog::Logger.debug("SetEnqueueServerSnapshot time: #{time}")
|
36
|
+
if response['Success']
|
37
|
+
response
|
38
|
+
else
|
39
|
+
raise Fog::ArubaCloud::Errors::RequestError.new(response)
|
40
|
+
end
|
41
|
+
end #Apply
|
42
|
+
end #Real
|
43
|
+
|
44
|
+
class Mock
|
45
|
+
def delete_snapshot
|
46
|
+
response = Excon::Response.new
|
47
|
+
response.status = 200
|
48
|
+
response.body = {
|
49
|
+
'ExceptionInfo' => nil,
|
50
|
+
'ResultCode' => 0,
|
51
|
+
'ResultMessage' => nil,
|
52
|
+
'Success' => true
|
53
|
+
}
|
54
|
+
response.body
|
55
|
+
end #delete snapshot
|
56
|
+
end # Mock
|
57
|
+
|
58
|
+
end # Compute
|
59
|
+
end # ArubaCloud
|
60
|
+
end # Fog
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
#
|
2
3
|
# Author:: Alessio Rocchi (<alessio.rocchi@staff.aruba.it>)
|
3
4
|
# © Copyright ArubaCloud.
|
@@ -6,20 +7,15 @@
|
|
6
7
|
#
|
7
8
|
|
8
9
|
module Fog
|
9
|
-
module
|
10
|
-
class
|
10
|
+
module ArubaCloud
|
11
|
+
class Compute
|
11
12
|
|
12
13
|
class Real
|
13
14
|
def delete_vm(id)
|
14
15
|
body = self.body('SetEnqueueServerDeletion').merge({:ServerId => "#{id}"})
|
15
|
-
options = {
|
16
|
-
:http_method => :post,
|
17
|
-
:method => 'SetEnqueueServerDeletion',
|
18
|
-
:body => Fog::JSON.encode(body)
|
19
|
-
}
|
20
16
|
response = nil
|
21
17
|
time = Benchmark.realtime {
|
22
|
-
response = request(
|
18
|
+
response = request(body, 'SetEnqueueServerDeletion', 'SetEnqueueServerDeletion Error')
|
23
19
|
}
|
24
20
|
Fog::Logger.debug("SetEnqueueServerDeletion time: #{time}")
|
25
21
|
if response['Success']
|
@@ -32,6 +28,10 @@ module Fog
|
|
32
28
|
|
33
29
|
class Mock
|
34
30
|
def delete_vm(id)
|
31
|
+
unless id
|
32
|
+
raise Fog::ArubaCloud::Errors::InvalidParameterValue.new('InvalidParameterValue => Server ID must be specified.')
|
33
|
+
end
|
34
|
+
|
35
35
|
self.servers.select!{|s| s.id.eql?(id)}
|
36
36
|
response = Excon::Response.new
|
37
37
|
response.status = 200
|
@@ -42,9 +42,9 @@ module Fog
|
|
42
42
|
'Success' => true
|
43
43
|
}
|
44
44
|
response.body
|
45
|
-
end #
|
46
|
-
end #
|
45
|
+
end # Mock
|
46
|
+
end # Real
|
47
47
|
|
48
|
-
end #
|
49
|
-
end #
|
50
|
-
end # Fog
|
48
|
+
end # Compute
|
49
|
+
end # ArubaCloud
|
50
|
+
end # Fog
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def disable_loadbalancer(data)
|
19
|
+
body = self.body('SetEnqueueLoadBalancerPowerOff').merge(
|
20
|
+
:LoadBalancerPowerOffRequest => {
|
21
|
+
:loadBalancerID => data[:id]
|
22
|
+
}
|
23
|
+
)
|
24
|
+
response = nil
|
25
|
+
time = Benchmark.realtime {
|
26
|
+
response = request(body, 'SetEnqueueLoadBalancerPowerOff', 'SetEnqueueLoadBalancerPowerOff Error')
|
27
|
+
}
|
28
|
+
Fog::Logger.debug("SetEnqueueLoadBalancerPowerOff time: #{time}")
|
29
|
+
if response['Success']
|
30
|
+
response
|
31
|
+
else
|
32
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
|
33
|
+
end
|
34
|
+
end # disable_loadbalancer
|
35
|
+
|
36
|
+
class Mock
|
37
|
+
def disable_loadbalancer
|
38
|
+
raise Fog::Errors::MockNotImplemented.new(
|
39
|
+
'Mock not implemented. Feel free to contribute.'
|
40
|
+
)
|
41
|
+
end # disable_loadbalancer
|
42
|
+
end # Mock
|
43
|
+
end # Real
|
44
|
+
|
45
|
+
end # Compute
|
46
|
+
end # ArubaCloud
|
47
|
+
end # Fog
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def edit_shared_storage(data)
|
19
|
+
body = self.body('SetEnqueueModifySharedStorage').merge(
|
20
|
+
{
|
21
|
+
:SharedStorage => {
|
22
|
+
:Quantity => data[:quantity],
|
23
|
+
:storageId => data[:id]
|
24
|
+
}
|
25
|
+
}
|
26
|
+
)
|
27
|
+
response = nil
|
28
|
+
time = Benchmark.realtime {
|
29
|
+
response = request( body , 'SetEnqueueModifySharedStorage', 'SetEnqueueModifySharedStorage Error')
|
30
|
+
}
|
31
|
+
Fog::Logger.debug("SetEnqueueModifySharedStorage time: #{time}")
|
32
|
+
if response['Success']
|
33
|
+
response
|
34
|
+
else
|
35
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error in request.')
|
36
|
+
end
|
37
|
+
end # edit_shared_storage
|
38
|
+
|
39
|
+
class Mock
|
40
|
+
def edit_shared_storage
|
41
|
+
raise Fog::Errors::MockNotImplemented.new(
|
42
|
+
'Mock not implemented. Feel free to contribute.'
|
43
|
+
)
|
44
|
+
end # edit_shared_storage
|
45
|
+
end # Mock
|
46
|
+
end # Real
|
47
|
+
|
48
|
+
end # Compute
|
49
|
+
end # ArubaCloud
|
50
|
+
end # Fog
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def enable_loadbalancer(data)
|
19
|
+
body = self.body('SetEnqueueLoadBalancerStart').merge(
|
20
|
+
:LoadBalancerStartRequest => {
|
21
|
+
:loadBalancerID => data[:id]
|
22
|
+
}
|
23
|
+
)
|
24
|
+
response = nil
|
25
|
+
time = Benchmark.realtime {
|
26
|
+
response = request(body , 'SetEnqueueLoadBalancerStart', 'SetEnqueueLoadBalancerStart Error')
|
27
|
+
}
|
28
|
+
Fog::Logger.debug("SetEnqueueLoadBalancerStart time: #{time}")
|
29
|
+
if response['Success']
|
30
|
+
response
|
31
|
+
else
|
32
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
|
33
|
+
end
|
34
|
+
end # enable_loadbalancer
|
35
|
+
|
36
|
+
class Mock
|
37
|
+
def enable_loadbalancer
|
38
|
+
raise Fog::Errors::MockNotImplemented.new(
|
39
|
+
'Mock not implemented. Feel free to contribute.'
|
40
|
+
)
|
41
|
+
end # enable_loadbalancer
|
42
|
+
end # Mock
|
43
|
+
end # Real
|
44
|
+
|
45
|
+
end # Compute
|
46
|
+
end # ArubaCloud
|
47
|
+
end # Fog
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def get_custom_templates
|
19
|
+
body = self.body('GetAvailablePersonalTemplates')
|
20
|
+
response = nil
|
21
|
+
time = Benchmark.realtime {
|
22
|
+
response = request(body, 'GetAvailablePersonalTemplates', 'GetAvailablePersonalTemplates Error')
|
23
|
+
}
|
24
|
+
Fog::Logger.debug("GetAvailablePersonalTemplates time: #{time}")
|
25
|
+
if response['Success']
|
26
|
+
response
|
27
|
+
else
|
28
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error in request.')
|
29
|
+
end
|
30
|
+
end # get_custom_templates
|
31
|
+
|
32
|
+
class Mock
|
33
|
+
def get_custom_templates
|
34
|
+
raise Fog::Errors::MockNotImplemented.new(
|
35
|
+
'Mock not implemented. Feel free to contribute.'
|
36
|
+
)
|
37
|
+
end # get_custom_templates
|
38
|
+
end # Mock
|
39
|
+
end # Real
|
40
|
+
|
41
|
+
end # Compute
|
42
|
+
end # ArubaCloud
|
43
|
+
end # Fog
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
#
|
2
3
|
# Author:: Alessio Rocchi (<alessio.rocchi@staff.aruba.it>)
|
3
4
|
# © Copyright ArubaCloud.
|
@@ -10,19 +11,14 @@ require 'fog/arubacloud/error'
|
|
10
11
|
require 'benchmark'
|
11
12
|
|
12
13
|
module Fog
|
13
|
-
module
|
14
|
-
class
|
14
|
+
module ArubaCloud
|
15
|
+
class Compute
|
15
16
|
class Real
|
16
17
|
def get_hypervisors
|
17
18
|
body = self.body('GetHypervisors')
|
18
|
-
options = {
|
19
|
-
:http_method => :post,
|
20
|
-
:method => 'GetHypervisors',
|
21
|
-
:body => Fog::JSON.encode(body)
|
22
|
-
}
|
23
19
|
response = nil
|
24
20
|
time = Benchmark.realtime {
|
25
|
-
response = request(
|
21
|
+
response = request( body, 'GetHypervisors', "GetHypervisors Error" )
|
26
22
|
}
|
27
23
|
Fog::Logger.debug("GetHypervisors time: #{time}")
|
28
24
|
if response['Success']
|
@@ -37,6 +33,7 @@ module Fog
|
|
37
33
|
# Due to the length of the response body, I actually decided to not implement
|
38
34
|
# the mock method of the request. I will introduce it in the next version after structuring the mock
|
39
35
|
# objects in a more reasonable way.
|
36
|
+
#
|
40
37
|
def get_hypervisors
|
41
38
|
raise Fog::Errors::MockNotImplemented.new(
|
42
39
|
'Mock object for get_hypervisor not present, read code comments for details.'
|
@@ -44,6 +41,6 @@ module Fog
|
|
44
41
|
end # get_hypervisors
|
45
42
|
end # Mock
|
46
43
|
|
47
|
-
end #
|
48
|
-
end #
|
49
|
-
end # Fog
|
44
|
+
end # Compute
|
45
|
+
end # ArubaCloud
|
46
|
+
end # Fog
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def get_lb_loads(data)
|
19
|
+
body = self.body('GetLoadBalancerLoads').merge(
|
20
|
+
:GetLoadBalancerLoads => {
|
21
|
+
:EndTime => data[:endtime],
|
22
|
+
:LoadBalancerID => data[:id],
|
23
|
+
:StartTime => data[:starttime]
|
24
|
+
}
|
25
|
+
)
|
26
|
+
response = nil
|
27
|
+
time = Benchmark.realtime {
|
28
|
+
response = request(body, 'GetLoadBalancerLoads', 'GetLoadBalancerLoads Error')
|
29
|
+
}
|
30
|
+
Fog::Logger.debug("GetLoadBalancerLoads time: #{time}")
|
31
|
+
if response['Success']
|
32
|
+
response
|
33
|
+
else
|
34
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
|
35
|
+
end
|
36
|
+
end # get_lb_loads
|
37
|
+
|
38
|
+
class Mock
|
39
|
+
def get_lb_loads
|
40
|
+
raise Fog::Errors::MockNotImplemented.new(
|
41
|
+
'Mock not implemented. Feel free to contribute.'
|
42
|
+
)
|
43
|
+
end # get_lb_loads
|
44
|
+
end # Mock
|
45
|
+
end # Real
|
46
|
+
|
47
|
+
end # Compute
|
48
|
+
end # ArubaCloud
|
49
|
+
end # Fog
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def get_lb_stats(data)
|
19
|
+
body = self.body('GetLoadBalancerRuleStatistics').merge(
|
20
|
+
:GetLoadBalancerLoads => {
|
21
|
+
:EndTime => data[:endtime],
|
22
|
+
:loadBalancerRuleID => data[:ruleid],
|
23
|
+
:StartTime => data[:starttime]
|
24
|
+
}
|
25
|
+
)
|
26
|
+
response = nil
|
27
|
+
time = Benchmark.realtime {
|
28
|
+
response = request(body, 'GetLoadBalancerRuleStatistics', 'GetLoadBalancerRuleStatistics Error')
|
29
|
+
}
|
30
|
+
Fog::Logger.debug("GetLoadBalancerRuleStatistics time: #{time}")
|
31
|
+
if response['Success']
|
32
|
+
response
|
33
|
+
else
|
34
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
|
35
|
+
end
|
36
|
+
end # get_lb_stats
|
37
|
+
|
38
|
+
class Mock
|
39
|
+
def get_lb_stats
|
40
|
+
raise Fog::Errors::MockNotImplemented.new(
|
41
|
+
'Mock not implemented. Feel free to contribute.'
|
42
|
+
)
|
43
|
+
end # get_lb_stats
|
44
|
+
end # Mock
|
45
|
+
end # Real
|
46
|
+
|
47
|
+
end # Compute
|
48
|
+
end # ArubaCloud
|
49
|
+
end # Fog
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def get_loadbalancer(data)
|
19
|
+
body = self.body('GetLoadBalancers').merge(
|
20
|
+
:GetLoadBalancers => {
|
21
|
+
:loadBalancerID => data[:id]
|
22
|
+
}
|
23
|
+
)
|
24
|
+
response = nil
|
25
|
+
time = Benchmark.realtime {
|
26
|
+
response = request(body , 'GetLoadBalancers', 'GetLoadBalancers Error')
|
27
|
+
}
|
28
|
+
Fog::Logger.debug("GetLoadBalancers time: #{time}")
|
29
|
+
if response['Success']
|
30
|
+
response
|
31
|
+
else
|
32
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the Load Balancer deletion.')
|
33
|
+
end
|
34
|
+
end # get_loadbalancer
|
35
|
+
|
36
|
+
class Mock
|
37
|
+
def get_loadbalancer
|
38
|
+
raise Fog::Errors::MockNotImplemented.new(
|
39
|
+
'Mock not implemented. Feel free to contribute.'
|
40
|
+
)
|
41
|
+
end # create_loadbalancer
|
42
|
+
end # Mock
|
43
|
+
end # Real
|
44
|
+
|
45
|
+
end # Compute
|
46
|
+
end # ArubaCloud
|
47
|
+
end # Fog
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Dangleterre Michaël
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
|
14
|
+
module Fog
|
15
|
+
module ArubaCloud
|
16
|
+
class Compute
|
17
|
+
class Real
|
18
|
+
def get_notifications(data)
|
19
|
+
body = self.body('GetLoadBalancerNotifications').merge(
|
20
|
+
:request => {
|
21
|
+
:loadBalancerID => data[:id],
|
22
|
+
:EndDate => data[:endtime],
|
23
|
+
:StartDate => data[:starttime],
|
24
|
+
:LoadBalancerRuleID => data[:ruleid]
|
25
|
+
}
|
26
|
+
)
|
27
|
+
response = nil
|
28
|
+
time = Benchmark.realtime {
|
29
|
+
response = request(body , 'GetLoadBalancerNotifications', 'GetLoadBalancerNotifications Error')
|
30
|
+
}
|
31
|
+
Fog::Logger.debug("GetLoadBalancerNotifications time: #{time}")
|
32
|
+
if response['Success']
|
33
|
+
response
|
34
|
+
else
|
35
|
+
raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
|
36
|
+
end
|
37
|
+
end # get_notifications
|
38
|
+
|
39
|
+
class Mock
|
40
|
+
def get_notifications
|
41
|
+
raise Fog::Errors::MockNotImplemented.new(
|
42
|
+
'Mock not implemented. Feel free to contribute.'
|
43
|
+
)
|
44
|
+
end # get_notifications
|
45
|
+
end # Mock
|
46
|
+
end # Real
|
47
|
+
|
48
|
+
end # Compute
|
49
|
+
end # ArubaCloud
|
50
|
+
end # Fog
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# Author:: Ugo Vierucci (<ugo.vierucci@staff.aruba.it>)
|
4
|
+
# © Copyright ArubaCloud.
|
5
|
+
#
|
6
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'fog/arubacloud/service'
|
10
|
+
require 'fog/arubacloud/error'
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
module Fog
|
14
|
+
module ArubaCloud
|
15
|
+
class Compute
|
16
|
+
|
17
|
+
class Real
|
18
|
+
# Return the correct package id
|
19
|
+
# @return [Excon::Response]
|
20
|
+
|
21
|
+
def get_package_id( name="small" )
|
22
|
+
body_r = self.body('GetPreConfiguredPackages').merge(
|
23
|
+
{
|
24
|
+
:HypervisorType => 4
|
25
|
+
}
|
26
|
+
)
|
27
|
+
response = nil
|
28
|
+
time = Benchmark.realtime {
|
29
|
+
response = request( body_r, 'GetPreConfiguredPackages', "Smart_vm getPackageID error" )
|
30
|
+
}
|
31
|
+
Fog::Logger.debug("GetPreConfiguredPackages time: #{time}")
|
32
|
+
if response['Success']
|
33
|
+
response['Value'].each { | package |
|
34
|
+
packageId = package['PackageID']
|
35
|
+
package['Descriptions'].each { | description |
|
36
|
+
languageID = description['LanguageID']
|
37
|
+
packageName = description['Text']
|
38
|
+
if (languageID == 2) and (packageName.downcase == name.downcase) then
|
39
|
+
return packageId
|
40
|
+
end
|
41
|
+
}
|
42
|
+
}
|
43
|
+
else
|
44
|
+
raise Fog::ArubaCloud::Errors::RequestError.new("Error during the get_package_id. Object: \n#{body}", response=response)
|
45
|
+
end
|
46
|
+
return 1
|
47
|
+
end
|
48
|
+
end # Real
|
49
|
+
|
50
|
+
class Mock
|
51
|
+
def get_package_id( name )
|
52
|
+
raise Fog::Errors::MockNotImplemented.new(
|
53
|
+
'Mock not implemented. Feel free to contribute.'
|
54
|
+
)
|
55
|
+
end # get_package_id
|
56
|
+
end # Mock
|
57
|
+
|
58
|
+
end # Compute
|
59
|
+
end # ArubaCloud
|
60
|
+
end # Fog
|