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.
Files changed (117) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +0 -0
  3. data/.gitignore +0 -0
  4. data/.rubocop.yml +0 -0
  5. data/.ruby-version +0 -0
  6. data/.travis.yml +0 -0
  7. data/CONTRIBUTING.md +0 -0
  8. data/CONTRIBUTORS.md +0 -0
  9. data/Gemfile +0 -0
  10. data/LICENSE.md +0 -0
  11. data/README.md +3 -3
  12. data/Rakefile +99 -5
  13. data/{lib/fog/arubacloud/examples → examples}/create_pro_server.rb +3 -3
  14. data/{lib/fog/arubacloud/examples → examples}/create_smart_server.rb +0 -0
  15. data/{lib/fog/arubacloud/examples → examples}/get_objects.rb +1 -1
  16. data/{lib/fog/arubacloud/examples → examples}/get_servers.rb +0 -0
  17. data/{lib/fog/arubacloud/examples → examples}/vm_operations.rb +1 -1
  18. data/fog-arubacloud.gemspec +12 -12
  19. data/gemfiles/fog-arubacloud-0.0.4.gem +0 -0
  20. data/lib/fog/arubacloud/compute/models/custom_template.rb +60 -0
  21. data/lib/fog/arubacloud/compute/models/custom_templates.rb +19 -0
  22. data/lib/fog/arubacloud/{models/compute → compute/models}/disk.rb +6 -5
  23. data/lib/fog/arubacloud/{models/compute → compute/models}/disks.rb +7 -7
  24. data/lib/fog/arubacloud/{models/compute → compute/models}/ip.rb +6 -5
  25. data/lib/fog/arubacloud/{models/compute → compute/models}/ips.rb +6 -6
  26. data/lib/fog/arubacloud/compute/models/loadbalancer.rb +135 -0
  27. data/lib/fog/arubacloud/compute/models/loadbalancers.rb +21 -0
  28. data/lib/fog/arubacloud/{models/compute → compute/models}/network_adapter.rb +2 -2
  29. data/lib/fog/arubacloud/{models/compute → compute/models}/network_adapters.rb +4 -4
  30. data/lib/fog/arubacloud/compute/models/schedule.rb +90 -0
  31. data/lib/fog/arubacloud/compute/models/schedules.rb +19 -0
  32. data/lib/fog/arubacloud/{models/compute → compute/models}/server.rb +74 -35
  33. data/lib/fog/arubacloud/{models/compute → compute/models}/servers.rb +10 -9
  34. data/lib/fog/arubacloud/compute/models/sharedstorage.rb +58 -0
  35. data/lib/fog/arubacloud/compute/models/sharedstorages.rb +19 -0
  36. data/lib/fog/arubacloud/compute/models/snapshot.rb +58 -0
  37. data/lib/fog/arubacloud/compute/models/snapshots.rb +19 -0
  38. data/lib/fog/arubacloud/{models/compute → compute/models}/template.rb +2 -2
  39. data/lib/fog/arubacloud/{models/compute → compute/models}/templates.rb +10 -10
  40. data/lib/fog/arubacloud/compute/requests/add_contact.rb +59 -0
  41. data/lib/fog/arubacloud/compute/requests/add_instance.rb +56 -0
  42. data/lib/fog/arubacloud/compute/requests/add_lb_rule.rb +58 -0
  43. data/lib/fog/arubacloud/compute/requests/apply_snapshot.rb +53 -0
  44. data/lib/fog/arubacloud/compute/requests/archive_vm.rb +59 -0
  45. data/lib/fog/arubacloud/compute/requests/create_loadbalancer.rb +76 -0
  46. data/lib/fog/arubacloud/compute/requests/create_scheduled_occurrence.rb +71 -0
  47. data/lib/fog/arubacloud/compute/requests/create_scheduled_operation.rb +56 -0
  48. data/lib/fog/arubacloud/compute/requests/create_shared_storage.rb +55 -0
  49. data/lib/fog/arubacloud/compute/requests/create_snapshot.rb +54 -0
  50. data/lib/fog/arubacloud/{requests/compute → compute/requests}/create_vm_pro.rb +9 -14
  51. data/lib/fog/arubacloud/{requests/compute → compute/requests}/create_vm_smart.rb +11 -15
  52. data/lib/fog/arubacloud/compute/requests/delete_custom_template.rb +43 -0
  53. data/lib/fog/arubacloud/compute/requests/delete_scheduled_operation.rb +43 -0
  54. data/lib/fog/arubacloud/compute/requests/delete_shared_storage.rb +49 -0
  55. data/lib/fog/arubacloud/compute/requests/delete_snapshot.rb +60 -0
  56. data/lib/fog/arubacloud/{requests/compute → compute/requests}/delete_vm.rb +13 -13
  57. data/lib/fog/arubacloud/compute/requests/disable_loadbalancer.rb +47 -0
  58. data/lib/fog/arubacloud/compute/requests/edit_shared_storage.rb +50 -0
  59. data/lib/fog/arubacloud/compute/requests/enable_loadbalancer.rb +47 -0
  60. data/lib/fog/arubacloud/compute/requests/get_custom_templates.rb +43 -0
  61. data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_hypervisors.rb +8 -11
  62. data/lib/fog/arubacloud/compute/requests/get_lb_loads.rb +49 -0
  63. data/lib/fog/arubacloud/compute/requests/get_lb_stats.rb +49 -0
  64. data/lib/fog/arubacloud/compute/requests/get_loadbalancer.rb +47 -0
  65. data/lib/fog/arubacloud/compute/requests/get_notifications.rb +50 -0
  66. data/lib/fog/arubacloud/compute/requests/get_package_id.rb +60 -0
  67. data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_purchased_ip_addresses.rb +7 -11
  68. data/lib/fog/arubacloud/compute/requests/get_scheduled_operations.rb +42 -0
  69. data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_server_details.rb +7 -13
  70. data/lib/fog/arubacloud/{requests/compute → compute/requests}/get_servers.rb +11 -14
  71. data/lib/fog/arubacloud/compute/requests/get_shared_storage.rb +43 -0
  72. data/lib/fog/arubacloud/compute/requests/manage_custom_template.rb +72 -0
  73. data/lib/fog/arubacloud/compute/requests/modify_loadbalancer.rb +49 -0
  74. data/lib/fog/arubacloud/{requests/compute → compute/requests}/power_off_vm.rb +8 -11
  75. data/lib/fog/arubacloud/{requests/compute → compute/requests}/power_on_vm.rb +8 -11
  76. data/lib/fog/arubacloud/{requests/compute → compute/requests}/purchase_ip.rb +7 -11
  77. data/lib/fog/arubacloud/{requests/compute → compute/requests}/reinitialize_vm.rb +8 -14
  78. data/lib/fog/arubacloud/compute/requests/remove_contact.rb +48 -0
  79. data/lib/fog/arubacloud/compute/requests/remove_instance.rb +56 -0
  80. data/lib/fog/arubacloud/{requests/compute → compute/requests}/remove_ip.rb +7 -11
  81. data/lib/fog/arubacloud/compute/requests/remove_loadbalancer.rb +47 -0
  82. data/lib/fog/arubacloud/compute/requests/rename_shared_storage.rb +50 -0
  83. data/lib/fog/arubacloud/compute/requests/restore_vm.rb +61 -0
  84. data/lib/fog/arubacloud/compute/requests/suspend_scheduled_operations.rb +43 -0
  85. data/lib/fog/arubacloud/compute.rb +106 -22
  86. data/lib/fog/arubacloud/error.rb +4 -0
  87. data/lib/fog/arubacloud/service.rb +4 -2
  88. data/lib/fog/arubacloud/version.rb +3 -2
  89. data/lib/fog/arubacloud.rb +4 -12
  90. data/spec/fog/arubacloud/config_spec.rb +0 -0
  91. data/spec/fog/compute/arubacloud/models/disk_spec.rb +63 -0
  92. data/spec/fog/compute/arubacloud/models/disks_spec.rb +11 -0
  93. data/spec/fog/compute/arubacloud/models/ip_spec.rb +53 -0
  94. data/spec/fog/compute/arubacloud/models/ips_spec.rb +11 -0
  95. data/spec/fog/compute/arubacloud/models/loadbalancer_spec.rb +100 -0
  96. data/spec/fog/compute/arubacloud/models/loadbalancers_spec.rb +15 -0
  97. data/spec/fog/compute/arubacloud/models/network_adapter_spec.rb +33 -0
  98. data/spec/fog/compute/arubacloud/models/network_adapters_spec.rb +11 -0
  99. data/spec/fog/compute/arubacloud/models/schedule_spec.rb +102 -0
  100. data/spec/fog/compute/arubacloud/models/schedules_spec.rb +11 -0
  101. data/spec/fog/compute/arubacloud/models/server_spec.rb +155 -0
  102. data/spec/fog/compute/arubacloud/models/servers_spec.rb +15 -0
  103. data/spec/fog/compute/arubacloud/models/sharedstorage_spec.rb +86 -0
  104. data/spec/fog/compute/arubacloud/models/sharedstorages_spec.rb +10 -0
  105. data/spec/fog/compute/arubacloud/models/snapshot_spec.rb +17 -0
  106. data/spec/fog/compute/arubacloud/models/snapshots_spec.rb +11 -0
  107. data/spec/fog/compute/arubacloud/models/template_spec.rb +39 -0
  108. data/spec/fog/compute/arubacloud/models/templates_spec.rb +21 -0
  109. data/spec/fog/compute/arubacloud_spec.rb +21 -4
  110. data/spec/model_setup.rb +3 -1
  111. data/spec/spec_helper.rb +1 -1
  112. metadata +121 -48
  113. data/gemfiles/fog-arubacloud-0.0.1.gem +0 -0
  114. data/gemfiles/fog-arubacloud-0.0.2.gem +0 -0
  115. data/spec/fog/compute/arubacloud/server_spec.rb +0 -26
  116. data/spec/fog/compute/arubacloud/servers_spec.rb +0 -11
  117. 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 Compute
10
- class ArubaCloud
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(options)
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 # delete_vm
46
- end # Mock
45
+ end # Mock
46
+ end # Real
47
47
 
48
- end # ArubaCloud
49
- end # Compute
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 Compute
14
- class ArubaCloud
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(options)
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 # ArubaCloud
48
- end # Compute
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