megam_api 0.90 → 0.91
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/lib/megam/api/assembly.rb +11 -0
- data/lib/megam/api/version.rb +1 -1
- data/lib/megam/core/assembly.rb +6 -1
- data/lib/megam/mixins/assembly.rb +3 -1
- data/lib/megam/mixins/common_deployable.rb +1 -1
- data/lib/megam/mixins/components.rb +21 -17
- metadata +4 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24f8d9e0e0b83654018d7c36d661b04450ce4352
|
4
|
+
data.tar.gz: 90ba0a6376f73313c9b2f3968de3a689bad8ec57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48e996c374ae1a5eb1778552d09642de04a6d3738cbebfce7873953b0ba88f88c193240acd81b4f306e284e10decb0aad3e72f4a0bd07f048c9dda808c6e58be
|
7
|
+
data.tar.gz: 878b68737b7f770714a36a1e572ad27c19675ac224715eb1b34a0b0cbfffaf3bea2f8e81116c4ecdc63a5c5b2fe466a4f9ccc461c64e5eee911e6fa2bf1fb42f
|
data/lib/megam/api/assembly.rb
CHANGED
@@ -21,5 +21,16 @@ module Megam
|
|
21
21
|
body: @options[:body]
|
22
22
|
)
|
23
23
|
end
|
24
|
+
|
25
|
+
def upgrade_assembly(asm_id)
|
26
|
+
@options = { path: "/assembly/upgrade/#{asm_id}", body: '' }.merge(@options)
|
27
|
+
|
28
|
+
request(
|
29
|
+
expects: [200, 201],
|
30
|
+
method: :get,
|
31
|
+
body: @options[:body]
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
24
35
|
end
|
25
36
|
end
|
data/lib/megam/api/version.rb
CHANGED
data/lib/megam/core/assembly.rb
CHANGED
@@ -203,10 +203,15 @@ module Megam
|
|
203
203
|
asm.update
|
204
204
|
end
|
205
205
|
|
206
|
+
def self.upgrade(params)
|
207
|
+
asm = from_hash(params, params['email'] || params[:email], params['api_key'] || params[:api_key], params['host'] || params[:host])
|
208
|
+
asm.megam_rest.upgrade_assembly(params['id'])
|
209
|
+
end
|
210
|
+
|
206
211
|
# Create the node via the REST API
|
207
212
|
def update
|
208
213
|
megam_rest.update_assembly(to_hash)
|
209
|
-
end
|
214
|
+
end
|
210
215
|
|
211
216
|
def to_s
|
212
217
|
Megam::Stuff.styled_hash(to_hash)
|
@@ -5,9 +5,10 @@ require File.expand_path("#{File.dirname(__FILE__)}/outputs")
|
|
5
5
|
module Megam
|
6
6
|
class Mixins
|
7
7
|
class Assembly
|
8
|
-
attr_reader :name, :components, :policies, :outputs, :envs, :mixins
|
8
|
+
attr_reader :id, :name, :components, :policies, :outputs, :envs, :mixins
|
9
9
|
def initialize(params)
|
10
10
|
params = Hash[params.map { |k, v| [k.to_sym, v] }]
|
11
|
+
@id = params[:id] || params[:assemblyID] || ''
|
11
12
|
@name = params[:assemblyname]
|
12
13
|
@mixins = CommonDeployable.new(params)
|
13
14
|
@outputs = Outputs.new(params)
|
@@ -17,6 +18,7 @@ module Megam
|
|
17
18
|
|
18
19
|
def to_hash
|
19
20
|
result = @mixins.to_hash
|
21
|
+
result[:id] = @id if @id
|
20
22
|
result[:name] = @name if @name
|
21
23
|
result[:components] = @components if @components
|
22
24
|
result[:outputs] = @outputs.to_array if @outputs
|
@@ -5,10 +5,11 @@ require File.expand_path("#{File.dirname(__FILE__)}/outputs")
|
|
5
5
|
module Megam
|
6
6
|
class Mixins
|
7
7
|
class Components
|
8
|
-
attr_reader :mixins, :name, :repo, :related_components, :operations, :artifacts, :envs, :outputs
|
8
|
+
attr_reader :mixins, :name, :repo, :related_components, :operations, :artifacts, :envs, :outputs, :id
|
9
9
|
def initialize(params)
|
10
10
|
@mixins = CommonDeployable.new(params)
|
11
|
-
@
|
11
|
+
@id = params[:id] if params[:id]
|
12
|
+
@name = params[:componentname] || params[:name] || ''
|
12
13
|
@outputs = Outputs.new(params)
|
13
14
|
@operations = add_operations(params)
|
14
15
|
@related_components = add_related_components(params)
|
@@ -19,6 +20,7 @@ module Megam
|
|
19
20
|
|
20
21
|
def to_hash
|
21
22
|
result = @mixins.to_hash
|
23
|
+
result[:id] = @id if @id
|
22
24
|
result[:name] = @name if @name
|
23
25
|
result[:artifacts] = @artifacts if @artifacts
|
24
26
|
result[:repo] = @repo if @repo
|
@@ -26,7 +28,7 @@ module Megam
|
|
26
28
|
result[:outputs] = @outputs.to_array if @outputs
|
27
29
|
result[:related_components] = @related_components if @related_components
|
28
30
|
result[:envs] = @envs if @envs
|
29
|
-
result
|
31
|
+
result.to_hash
|
30
32
|
end
|
31
33
|
|
32
34
|
def to_a
|
@@ -40,14 +42,14 @@ module Megam
|
|
40
42
|
end
|
41
43
|
|
42
44
|
def add_related_components(params)
|
43
|
-
related_components = []
|
44
|
-
related_components << "#{params[:bind_type]}" if params.key?(:bind_type)
|
45
|
+
@related_components = []
|
46
|
+
@related_components << "#{params[:bind_type]}" if params.key?(:bind_type)
|
45
47
|
end
|
46
48
|
|
47
49
|
def add_operations(params)
|
48
|
-
operations = []
|
49
|
-
operations.push(create_operation(Operations::CI, Operations::CI_DESCRIPTON, params)) if params[:scm_name] && params[:scm_name].strip.empty?
|
50
|
-
operations.push(create_operation(Operations::BIND, Operations::BIND_DESCRIPTON, params)) if params.key?(:bind_type)
|
50
|
+
@operations = []
|
51
|
+
@operations.push(create_operation(Operations::CI, Operations::CI_DESCRIPTON, params)) if params[:scm_name] && params[:scm_name].strip.empty?
|
52
|
+
@operations.push(create_operation(Operations::BIND, Operations::BIND_DESCRIPTON, params)) if params.key?(:bind_type)
|
51
53
|
end
|
52
54
|
|
53
55
|
def create_operation(type, desc, params)
|
@@ -74,10 +76,10 @@ module Megam
|
|
74
76
|
|
75
77
|
def initialize(params)
|
76
78
|
set_attributes(params)
|
77
|
-
@type = params[:type]
|
78
|
-
@source = params[:scm_name]
|
79
|
-
@url = params[:source]
|
80
|
-
@oneclick = params[:oneclick]
|
79
|
+
@type = params[:type] || ""
|
80
|
+
@source = params[:scm_name] || ""
|
81
|
+
@url = params[:source] || ""
|
82
|
+
@oneclick = params[:oneclick] || ""
|
81
83
|
end
|
82
84
|
|
83
85
|
def tohash
|
@@ -97,7 +99,7 @@ module Megam
|
|
97
99
|
|
98
100
|
CI = 'CI'.freeze
|
99
101
|
CI_DESCRIPTON = 'always up to date code. sweet.'
|
100
|
-
|
102
|
+
NOTBOUND = "notbound".freeze
|
101
103
|
BIND = 'bind'.freeze
|
102
104
|
BIND_DESCRIPTON = 'bind. sweet.'
|
103
105
|
def initialize(params, type, desc)
|
@@ -114,16 +116,18 @@ module Megam
|
|
114
116
|
def tohash
|
115
117
|
{ operation_type: @type,
|
116
118
|
description: @desc,
|
117
|
-
properties: @prop
|
119
|
+
properties: @prop,
|
120
|
+
status: NOTBOUND
|
118
121
|
}
|
119
122
|
end
|
120
123
|
|
121
124
|
# Key_name mismatch. Key_name is to be changed.
|
122
125
|
def prop(params)
|
123
126
|
op = []
|
124
|
-
op << { 'key' => 'type', 'value' => params[:scm_name] }
|
125
|
-
op << { 'key' => 'token', 'value' => params[:scmtoken]
|
126
|
-
op << { 'key' => 'username', 'value' => params[:scmowner]
|
127
|
+
op << { 'key' => 'type', 'value' => params[:scm_name] } if params.key?(:scm_name)
|
128
|
+
op << { 'key' => 'token', 'value' => params[:scmtoken] } if params.key?(:scmtoken)
|
129
|
+
op << { 'key' => 'username', 'value' => params[:scmowner] } if params.key?(:scmowner)
|
130
|
+
op << { 'key' => 'related_component', 'value' => params[:bind_type] } if params.key?(:bind_type)
|
127
131
|
op
|
128
132
|
end
|
129
133
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: megam_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.91'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajthilak, Kishorekumar Neelamegam, Thomas Alrin, Yeshwanth Kumar, Subash Sethurajan,
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-12-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: excon
|
@@ -261,36 +261,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
261
|
version: '0'
|
262
262
|
requirements: []
|
263
263
|
rubyforge_project:
|
264
|
-
rubygems_version: 2.4.
|
264
|
+
rubygems_version: 2.4.7
|
265
265
|
signing_key:
|
266
266
|
specification_version: 4
|
267
267
|
summary: Ruby Client for the Megam
|
268
|
-
test_files:
|
269
|
-
- test/mixins/test_assemblies.rb
|
270
|
-
- test/mixins/test_assembly.rb
|
271
|
-
- test/mixins/test_component.rb
|
272
|
-
- test/test_accounts.rb
|
273
|
-
- test/test_assemblies.rb
|
274
|
-
- test/test_assembly.rb
|
275
|
-
- test/test_availableunits.rb
|
276
|
-
- test/test_balances.rb
|
277
|
-
- test/test_billedhistories.rb
|
278
|
-
- test/test_billings.rb
|
279
|
-
- test/test_cat_requests.rb
|
280
|
-
- test/test_components.rb
|
281
|
-
- test/test_credithistories.rb
|
282
|
-
- test/test_csars.rb
|
283
|
-
- test/test_discounts.rb
|
284
|
-
- test/test_domains.rb
|
285
|
-
- test/test_helper.rb
|
286
|
-
- test/test_invoices.rb
|
287
|
-
- test/test_login.rb
|
288
|
-
- test/test_marketplaceaddons.rb
|
289
|
-
- test/test_marketplaces.rb
|
290
|
-
- test/test_organizations.rb
|
291
|
-
- test/test_predefclouds.rb
|
292
|
-
- test/test_promos.rb
|
293
|
-
- test/test_requests.rb
|
294
|
-
- test/test_sensors.rb
|
295
|
-
- test/test_sshkeys.rb
|
296
|
-
- test/test_subscriptions.rb
|
268
|
+
test_files: []
|