lorj_cloud 0.1.11 → 0.1.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ac7410d472dd8330f134ae65232458feeaf04af8
4
- data.tar.gz: ac6f05d18594c89ff3fd97c9d4910389d0fe270f
3
+ metadata.gz: 26634b9c67df55b783869dd3e27efdcbcca992a3
4
+ data.tar.gz: 3b3430d3068e58f20d2434311d678bf7fe3c7579
5
5
  SHA512:
6
- metadata.gz: 0b16cc0c2abd0d281a1bfbc6268f8ae476d50b48ea9095c322db292df49510d8770c1bab686b6d1458783963d0a91c47dc4eb059f440a0f2838c6478103e404e
7
- data.tar.gz: 30d32069ae343d49bae3f133f4e312ff91bcddfde9ebc136e346dc0654db465b1ea9ab7d35f69c8ce92278822b11a9f7b993ca427c8fb489e808d466d77d0510
6
+ metadata.gz: 1dd52b5dba670954f34652a9da36fabe231f5e78ca585101e93b5dd5bb81b3c73659a400224ef75f2621171ca40abc181a1e1eab28263648ff518b91752ab10c
7
+ data.tar.gz: fc243f07fbc42a4d24b6e3faca2c4ac8814a6a5e061618696c08f7de0c3dcecd694e6e0fdb6374e08711eb0c6407d9a749b7c89f9557841581633d4e39dfac96
@@ -1,5 +1,5 @@
1
1
  # LorjCloud module
2
2
  module LorjCloud
3
- VERSION = '0.1.11'
4
- DATE = '2015-07-29'
3
+ VERSION = '0.1.12'
4
+ DATE = '2015-09-28'
5
5
  end
@@ -28,12 +28,12 @@ class CloudProcess
28
28
  hParams['credentials#tenant'])
29
29
  begin
30
30
  controller_connect(sCloudObj)
31
- rescue => e
32
- retry unless ssl_error_obj.error_detected(e.message, e.backtrace, e)
31
+ rescue => e
32
+ retry unless ssl_error_obj.error_detected(e.message, e.backtrace, e)
33
33
 
34
- PrcLib.error('%s:%s: Unable to connect.\n%s',
35
- self.class, sCloudObj, e.message)
36
- nil
34
+ PrcLib.error('%s:%s: Unable to connect.\n%s',
35
+ self.class, sCloudObj, e.message)
36
+ nil
37
37
  end
38
38
  end
39
39
  end
@@ -74,7 +74,7 @@ class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
74
74
  )
75
75
 
76
76
  obj_needs :CloudObject, :compute_connection
77
- obj_needs :data, 'server#flavor_name', :for => [:create_e]
77
+ obj_needs :data, 'server#flavor_name', :for => [:create_e]
78
78
  # Cloud provider will need to map to one of those predefined flavors.
79
79
  # limitation values may match exactly or at least ensure those limitation
80
80
  # are under provider limitation
@@ -82,16 +82,16 @@ class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
82
82
  # Cloud provider defines.
83
83
  # CloudProcess EHD = 160, then Provider EHD = 200 is ok
84
84
  # but Provider EHD = 150 is not ok.
85
- predefine_data_value('tiny', :desc => 'VCU: 1, RAM:512M, HD:1G, '\
85
+ predefine_data_value('tiny', :desc => 'VCU: 1, RAM:512M, HD:1G, '\
86
86
  'EHD: 0G, Swap: 0G')
87
- predefine_data_value('xsmall', :desc => 'VCU: 1, RAM:1G, HD:10G, '\
87
+ predefine_data_value('xsmall', :desc => 'VCU: 1, RAM:1G, HD:10G, '\
88
88
  'EHD: 10G, Swap: 0G')
89
- predefine_data_value('small', :desc => 'VCU: 2, RAM:2G, HD:30G, '\
89
+ predefine_data_value('small', :desc => 'VCU: 2, RAM:2G, HD:30G, '\
90
90
  'EHD: 10G, Swap: 0G')
91
- predefine_data_value('medium', :desc => 'VCU: 2, RAM:4G, HD:30G, '\
91
+ predefine_data_value('medium', :desc => 'VCU: 2, RAM:4G, HD:30G, '\
92
92
  'EHD: 50G, Swap: 0G')
93
- predefine_data_value('large', :desc => 'VCU: 4, RAM:8G, HD:30G, '\
93
+ predefine_data_value('large', :desc => 'VCU: 4, RAM:8G, HD:30G, '\
94
94
  'EHD: 100G, Swap: 0G')
95
- predefine_data_value('xlarge', :desc => 'VCU: 8, RAM:16G, HD:30G, '\
95
+ predefine_data_value('xlarge', :desc => 'VCU: 8, RAM:16G, HD:30G, '\
96
96
  'EHD: 200G, Swap: 0G')
97
97
  end
@@ -95,5 +95,5 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
95
95
  )
96
96
 
97
97
  obj_needs :CloudObject, :compute_connection
98
- obj_needs :data, 'server#image_name', :for => [:create_e]
98
+ obj_needs :data, 'server#image_name', :for => [:create_e]
99
99
  end
@@ -26,8 +26,8 @@
26
26
  # is capable to connect to internet
27
27
  # And to create this connection if possible.
28
28
  class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
29
- define_obj(:internet_network, :nohandler => true)
29
+ define_obj(:internet_network, :nohandler => true)
30
30
 
31
- obj_needs :CloudObject, :external_network # External network to connect if
31
+ obj_needs :CloudObject, :external_network # External network to connect if
32
32
  # needed.
33
33
  end
@@ -21,7 +21,7 @@
21
21
  # Internet SERVER Object
22
22
  # internet server is a server connected to the internet network.
23
23
  class Lorj::BaseDefinition
24
- define_obj(:internet_server, :nohandler => true)
24
+ define_obj(:internet_server, :nohandler => true)
25
25
 
26
26
  obj_needs :CloudObject, :internet_network
27
27
  obj_needs :CloudObject, :server
@@ -119,7 +119,7 @@ class Lorj::BaseDefinition
119
119
  obj_needs :data, :keypair_path
120
120
  obj_needs :data, :keypair_base
121
121
  # By default optional. But required by the import case if needed.
122
- obj_needs :data, :public_key, :for => [:create_e]
122
+ obj_needs :data, :public_key, :for => [:create_e]
123
123
 
124
124
  def_attribute :public_key
125
125
  end
@@ -333,9 +333,9 @@ class CloudProcess
333
333
  begin
334
334
  loc_pubkey = File.read(File.join(loc_kpair[:keypair_path],
335
335
  loc_kpair[:public_key_name]))
336
- rescue => e
337
- PrcLib.error("Unable to read '%s'.\n%s",
338
- loc_kpair[:public_key_file], e.message)
336
+ rescue => e
337
+ PrcLib.error("Unable to read '%s'.\n%s",
338
+ loc_kpair[:public_key_file], e.message)
339
339
  else
340
340
  if loc_pubkey.split(' ')[1].strip == pub_keypair.split(' ')[1].strip
341
341
  is_coherent = true
@@ -46,8 +46,8 @@ class CloudProcess
46
46
  # Process Delete handler
47
47
  def forj_delete_network(sCloudObj, hParams)
48
48
  oProvider.delete(sCloudObj, hParams)
49
- rescue => e
50
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
49
+ rescue => e
50
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
51
51
  end
52
52
 
53
53
  def forj_get_network(sCloudObj, sID, hParams)
@@ -67,10 +67,10 @@ class Lorj::BaseDefinition
67
67
  :delete_e => :forj_delete_network
68
68
  )
69
69
  obj_needs :CloudObject, :network_connection
70
- obj_needs :data, :network_name, :for => [:create_e]
70
+ obj_needs :data, :network_name, :for => [:create_e]
71
71
 
72
72
  obj_needs_optional
73
- obj_needs :data, :subnetwork_name, :for => [:create_e]
73
+ obj_needs :data, :subnetwork_name, :for => [:create_e]
74
74
 
75
75
  # Any attribute are queriable
76
76
  def_attribute :external # true if network is external or not.
@@ -87,8 +87,8 @@ class CloudProcess
87
87
  PrcLib.state("Creating network '%s'", name)
88
88
  network = controller_create(sCloudObj)
89
89
  PrcLib.info("Network '%s' created", network[:name])
90
- rescue => e
91
- PrcLib.fatal(1, "Unable to create network '%s'", name, e)
90
+ rescue => e
91
+ PrcLib.fatal(1, "Unable to create network '%s'", name, e)
92
92
  end
93
93
  network
94
94
  end
@@ -101,7 +101,7 @@ class CloudProcess
101
101
  query = { :name => hParams[:network_name] }
102
102
 
103
103
  query_single(sCloudObj, query, hParams[:network_name])
104
- rescue => e
105
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
104
+ rescue => e
105
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
106
106
  end
107
107
  end
@@ -98,8 +98,8 @@ class CloudProcess
98
98
  end
99
99
  PrcLib.info("Public IP '%s' for server '%s' "\
100
100
  'assigned.', ip_address[:public_ip], name)
101
- rescue => e
102
- PrcLib.fatal(1, "Unable to assign a public IP to server '%s'", name, e)
101
+ rescue => e
102
+ PrcLib.fatal(1, "Unable to assign a public IP to server '%s'", name, e)
103
103
  end
104
104
  ip_address
105
105
  end
@@ -65,7 +65,7 @@ class Lorj::BaseDefinition
65
65
  obj_needs :CloudObject, :network, :for => [:create_e]
66
66
  obj_needs :CloudObject, :subnetwork, :for => [:create_e]
67
67
  obj_needs_optional
68
- obj_needs :data, :router_name, :for => [:create_e]
68
+ obj_needs :data, :router_name, :for => [:create_e]
69
69
 
70
70
  def_attribute :gateway_network_id
71
71
  end
@@ -73,9 +73,9 @@ end
73
73
  # Port Object
74
74
  # Identify port attached to network
75
75
  class Lorj::BaseDefinition
76
- define_obj :port, :nohandler => true
76
+ define_obj :port, :nohandler => true
77
77
 
78
- obj_needs :CloudObject, :network_connection
78
+ obj_needs :CloudObject, :network_connection
79
79
  def_attribute :device_id
80
80
 
81
81
  def_attribute :network_id
@@ -88,7 +88,7 @@ end
88
88
  # To keep the network model more generic.
89
89
  class Lorj::BaseDefinition
90
90
  # No process handler defined. Just Controller object
91
- define_obj :router_interface, :nohandler => true
91
+ define_obj :router_interface, :nohandler => true
92
92
 
93
93
  obj_needs :CloudObject, :network_connection
94
94
  obj_needs :CloudObject, :router, :for => [:create_e]
@@ -132,9 +132,9 @@ class CloudProcess
132
132
  PrcLib.info("Router '%s' created without external Network.",
133
133
  router_name)
134
134
  end
135
- rescue => e
136
- PrcLib.error "Unable to create '%s' router\n%s\n%s", router_name,
137
- e.message, e.backtrace.join("\n")
135
+ rescue => e
136
+ PrcLib.error "Unable to create '%s' router\n%s\n%s", router_name,
137
+ e.message, e.backtrace.join("\n")
138
138
  end
139
139
  router
140
140
  end
@@ -144,9 +144,9 @@ class CloudProcess
144
144
  begin
145
145
  #################
146
146
  provider_delete_router(net_conn_obj, router_obj)
147
- # net_conn_obj.routers.get(router.id).destroy
148
- rescue => e
149
- PrcLib.error("Unable to delete '%s' router ID", router_id, e)
147
+ # net_conn_obj.routers.get(router.id).destroy
148
+ rescue => e
149
+ PrcLib.error("Unable to delete '%s' router ID", router_id, e)
150
150
  end
151
151
  end
152
152
 
@@ -233,8 +233,8 @@ class CloudProcess
233
233
  networks = net_conn_obj
234
234
  begin
235
235
  netty = networks.get(name)
236
- rescue => e
237
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
236
+ rescue => e
237
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
238
238
  end
239
239
  PrcLib.state("Found gateway '%s'", name) if netty
240
240
  PrcLib.state("Unable to find gateway '%s'", name) unless netty
@@ -79,7 +79,7 @@ class Lorj::BaseDefinition
79
79
  # :delete_e => :forj_delete_rule
80
80
  )
81
81
 
82
- undefine_attribute :name # Do not return any predefined name attribute
82
+ undefine_attribute :name # Do not return any predefined name attribute
83
83
 
84
84
  obj_needs :CloudObject, :network_connection
85
85
  obj_needs :CloudObject, :security_groups, :for => [:create_e]
@@ -87,7 +87,7 @@ class Lorj::BaseDefinition
87
87
  :extract_from => [:security_groups,
88
88
  :attrs, :id]
89
89
 
90
- obj_needs :data, :dir, :for => [:create_e]
90
+ obj_needs :data, :dir, :for => [:create_e]
91
91
  predefine_data_value :IN, :desc => 'Input NAT/firewall rule map type'
92
92
  predefine_data_value :OUT, :desc => 'Output NAT/firewall rule map type'
93
93
 
@@ -58,7 +58,7 @@ class CloudProcess
58
58
  # Need to set runtime data to get or if missing
59
59
  # create the required rule.
60
60
  params = {}
61
- params[:dir] = :IN
61
+ params[:dir] = :IN
62
62
  params[:proto] = 'tcp'
63
63
  params[:port_min] = portmin.to_i
64
64
  params[:port_max] = portmax.to_i
@@ -111,7 +111,7 @@ class Lorj::BaseDefinition
111
111
  )
112
112
 
113
113
  obj_needs :CloudObject, :network_connection
114
- obj_needs :data, :security_group, :for => [:create_e]
114
+ obj_needs :data, :security_group, :for => [:create_e]
115
115
  obj_needs_optional
116
116
  obj_needs :data, 'server#ports', :for => [:create_e]
117
117
  obj_needs :data, :sg_desc, :for => [:create_e]
@@ -58,8 +58,8 @@ class CloudProcess
58
58
  begin
59
59
  subnet = controller_create(sCloudObj, hParams)
60
60
  PrcLib.info("Subnet '%s' created.", subnet[:name])
61
- rescue => e
62
- PrcLib.fatal(1, "Unable to create '%s' subnet.", name, e)
61
+ rescue => e
62
+ PrcLib.fatal(1, "Unable to create '%s' subnet.", name, e)
63
63
  end
64
64
  subnet
65
65
  end
@@ -72,8 +72,8 @@ class CloudProcess
72
72
  begin
73
73
  provider_delete_subnetwork(net_conn_obj, sub_net_obj)
74
74
  net_conn_obj.subnets.get(sub_net_obj.id).destroy
75
- rescue => e
76
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
75
+ rescue => e
76
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
77
77
  end
78
78
  end
79
79
 
@@ -48,6 +48,7 @@ class HpcloudController # rubocop: disable Metrics/ClassLength
48
48
  end
49
49
  end
50
50
  end
51
+
51
52
  def self.update_method(crud_type)
52
53
  define_method(crud_type) do |sObjectType, obj, hParams|
53
54
  method_name = "#{crud_type}_#{sObjectType}"
@@ -206,6 +207,7 @@ class HpcloudController # rubocop: disable Metrics/ClassLength
206
207
  hParams[:server])
207
208
  end
208
209
  end
210
+
209
211
  # rubocop: disable CyclomaticComplexity,
210
212
  def get(sObjectType, sUniqId, hParams)
211
213
  case sObjectType
@@ -56,7 +56,7 @@ class Hpcloud
56
56
  def_attr_mapping :external, :router_external
57
57
 
58
58
  define_obj :rule
59
- obj_needs :data, :dir, :mapping => :direction
59
+ obj_needs :data, :dir, :mapping => :direction
60
60
  attr_value_mapping :IN, 'ingress'
61
61
  attr_value_mapping :OUT, 'egress'
62
62
 
@@ -75,7 +75,7 @@ class Hpcloud
75
75
 
76
76
  define_obj :keypairs
77
77
 
78
- undefine_attribute :id # Do not return any predefined ID
78
+ undefine_attribute :id # Do not return any predefined ID
79
79
 
80
80
  # ************************************ Router Object
81
81
  define_obj :router
@@ -118,7 +118,7 @@ class Hpcloud
118
118
  define_obj :server_log
119
119
 
120
120
  # Excon::Response object type
121
- def_attr_mapping :output, 'output'
121
+ def_attr_mapping :output, 'output'
122
122
 
123
123
  # ************************************* Public IP Object
124
124
  define_obj :public_ip
@@ -73,11 +73,11 @@ module HPNetwork
73
73
  else
74
74
  max_value = range_used.max
75
75
  new_subnet = max_value.to_i + 1
76
- new_cidr = format('10.0.%s.0/24', new_subnet)
76
+ new_cidr = format('10.0.%s.0/24', new_subnet)
77
77
  end
78
78
  new_cidr
79
- rescue => e
80
- Logging.error("%s\n%s", e.message, e.backtrace.join("\n"))
79
+ rescue => e
80
+ Logging.error("%s\n%s", e.message, e.backtrace.join("\n"))
81
81
  end
82
82
 
83
83
  # router driver
@@ -117,17 +117,17 @@ class MockController
117
117
  attributes = oControlerObject
118
118
 
119
119
  attributes.rh_get(key)
120
- rescue => e
121
- controller_error "Unable to map '%s'.\n%s", key, e.message
120
+ rescue => e
121
+ controller_error "Unable to map '%s'.\n%s", key, e.message
122
122
  end
123
123
 
124
124
  def set_attr(oControlerObject, key, value)
125
125
  attributes = oControlerObject
126
126
 
127
127
  attributes.rh_set(value, key)
128
- rescue => e
129
- controller_error "Unable to map '%s' on '%s'.\n%s",
130
- key, sObjectType, e.message
128
+ rescue => e
129
+ controller_error "Unable to map '%s' on '%s'.\n%s",
130
+ key, sObjectType, e.message
131
131
  end
132
132
 
133
133
  def update(sObjectType, oObject, hParams)
@@ -56,7 +56,7 @@ class Openstack
56
56
  :decrypt => true
57
57
  obj_needs :data, 'credentials#auth_uri', :mapping => :openstack_auth_url
58
58
  obj_needs :data, 'credentials#tenant', :mapping => :openstack_tenant
59
- obj_needs :data, 'services#compute', :mapping => :openstack_region
59
+ obj_needs :data, 'services#compute', :mapping => :openstack_region
60
60
 
61
61
  obj_needs_optional # Data required if uri contains v3
62
62
  obj_needs :data, :user_domain, :mapping => :openstack_user_domain
@@ -68,7 +68,7 @@ class Openstack
68
68
  :decrypt => true
69
69
  obj_needs :data, 'credentials#auth_uri', :mapping => :openstack_auth_url
70
70
  obj_needs :data, 'credentials#tenant', :mapping => :openstack_tenant
71
- obj_needs :data, 'services#network', :mapping => :openstack_region
71
+ obj_needs :data, 'services#network', :mapping => :openstack_region
72
72
 
73
73
  obj_needs_optional # Data required if uri contains v3
74
74
  obj_needs :data, :user_domain, :mapping => :openstack_user_domain
@@ -86,7 +86,7 @@ class Openstack
86
86
 
87
87
  define_obj :keypairs
88
88
 
89
- undefine_attribute :id # Do not return any predefined ID
89
+ undefine_attribute :id # Do not return any predefined ID
90
90
 
91
91
  define_obj :server_log
92
92
 
@@ -98,7 +98,7 @@ class Openstack
98
98
  obj_needs :CloudObject, :tenants
99
99
 
100
100
  define_obj :rule
101
- obj_needs :data, :dir, :mapping => :direction
101
+ obj_needs :data, :dir, :mapping => :direction
102
102
  attr_value_mapping :IN, 'ingress'
103
103
  attr_value_mapping :OUT, 'egress'
104
104
 
@@ -460,6 +460,7 @@ class OpenstackController
460
460
  end
461
461
  build_result(version, body)
462
462
  end
463
+
463
464
  # Function to provide a wel formatted standard data, usable by openstack
464
465
  # provider
465
466
  #
@@ -226,7 +226,7 @@ class OpenstackController # :nodoc:
226
226
  else
227
227
  max_value = range_used.max
228
228
  new_subnet = max_value.to_i + 1
229
- new_cidr = format('10.0.%s.0/24', new_subnet)
229
+ new_cidr = format('10.0.%s.0/24', new_subnet)
230
230
  end
231
231
  new_cidr
232
232
  rescue => e
data/lorj_cloud.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency "lorj", ">= 1.0.19"
27
27
  spec.add_runtime_dependency 'subhash', '>= 0.1.5'
28
28
  spec.add_runtime_dependency "fog", "~> 1.30.0"
29
+ spec.add_runtime_dependency "net-ssh", "~> 2.9.2"
29
30
 
30
31
  # Ruby 1.8 restrictions - BEGIN - To be removed at next major release.
31
32
  # NOTE that gemspec is used at build time. Do not use RUBY_VERSION check
@@ -37,9 +38,9 @@ Gem::Specification.new do |spec|
37
38
  spec.add_development_dependency "ruby-debug"
38
39
  elsif RUBY_VERSION.match(/1\.9/)
39
40
  spec.add_development_dependency "debugger"
40
- spec.add_development_dependency "rubocop", "~> 0.30.0"
41
+ spec.add_development_dependency "rubocop", "~> 0.34.2"
41
42
  else
42
43
  spec.add_development_dependency "byebug"
43
- spec.add_development_dependency "rubocop", "~> 0.30.0"
44
+ spec.add_development_dependency "rubocop", "~> 0.34.2"
44
45
  end
45
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lorj_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christophe Larsonneur
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-29 00:00:00.000000000 Z
11
+ date: 2015-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.30.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: net-ssh
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.9.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.9.2
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: mime-types
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +156,14 @@ dependencies:
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 0.30.0
159
+ version: 0.34.2
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 0.30.0
166
+ version: 0.34.2
153
167
  description: 'simplify cloud management, thanks to predefined process to manage cloud
154
168
  obj and make it work. '
155
169
  email:
@@ -229,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
243
  version: '0'
230
244
  requirements: []
231
245
  rubyforge_project:
232
- rubygems_version: 2.2.3
246
+ rubygems_version: 2.4.8
233
247
  signing_key:
234
248
  specification_version: 4
235
249
  summary: Lorj cloud process.