megam_api 1.51.4 → 1.52.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9633a1172c45ba2b58404c1657fcb3268676187b
4
- data.tar.gz: c0c756b03717a9408819e23e21a90ccfd4e5f2e5
3
+ metadata.gz: 82f4868b44b3471243d6f35f4b2773fb070b4af5
4
+ data.tar.gz: 7b8847bce125c0ce9c4be38fdf0e7e8c2315022d
5
5
  SHA512:
6
- metadata.gz: caff5830e7363ef48793c3e2a07b7a3412bb8e1d41421bf00495bb5a5b6840e80f474249f7fd0220a862531d7422a5df4cfab23dae35be0f8dfb8825d390f61e
7
- data.tar.gz: d76cb4b905a0e826cc0116af77a55b0261f8dffe844c1a939ceb1dd7d3669a178a4c6aa22b823d5c040e314be19d76a8a41f183f8ff5ccf5d60efeb4639eb681
6
+ metadata.gz: b1b17c64e80d7dbfc7e80f202c3f766d30ec63037fa951d39e7801f6882c147d4150137f9d6a9bd9600fda9f9c3245a75be0787210178194aa0ca5d7d062f03a
7
+ data.tar.gz: 197de5554d26ea8a291ed7c197f0edf5a49f671508ec4a0cdbd4264c17b67407ed26f789f1eb7d17d977c3da5b206f9195ca7b2e9b25f1209155e60c9a286e42
data/lib/megam/api.rb CHANGED
@@ -26,8 +26,9 @@ require 'megam/api/sensors'
26
26
  require 'megam/api/sshkeys'
27
27
  require 'megam/api/eventsall'
28
28
  require 'megam/api/eventsvm'
29
- require 'megam/api/eventsmarketplaces'
29
+ require 'megam/api/eventsmarketplace'
30
30
  require 'megam/api/license'
31
+ require 'megam/api/flavors'
31
32
  require 'megam/api/eventscontainer'
32
33
  require 'megam/api/eventsbilling'
33
34
  require 'megam/api/eventsstorage'
@@ -62,14 +63,16 @@ require 'megam/core/request'
62
63
  require 'megam/core/request_collection'
63
64
  require 'megam/core/license'
64
65
  require 'megam/core/license_collection'
66
+ require 'megam/core/flavors'
67
+ require 'megam/core/flavors_collection'
65
68
  require 'megam/core/sshkey'
66
69
  require 'megam/core/sshkey_collection'
67
70
  require 'megam/core/eventsall'
68
71
  require 'megam/core/eventsall_collection'
69
72
  require 'megam/core/eventsvm'
70
73
  require 'megam/core/eventsvm_collection'
71
- require 'megam/core/eventsmarketplaces'
72
- require 'megam/core/eventsmarketplaces_collection'
74
+ require 'megam/core/eventsmarketplace'
75
+ require 'megam/core/eventsmarketplace_collection'
73
76
  require 'megam/core/eventscontainer'
74
77
  require 'megam/core/eventscontainer_collection'
75
78
  require 'megam/core/eventsbilling'
@@ -1,8 +1,8 @@
1
1
  module Megam
2
2
  class API
3
3
  # GET /nodes
4
- def list_eventsMarketplaces(limit)
5
- @options = {:path => "/eventsmarketplaces/#{limit}",:body => ""}.merge(@options)
4
+ def list_eventsMarketplace(limit)
5
+ @options = {:path => "/eventsmarketplace/#{limit}",:body => ""}.merge(@options)
6
6
 
7
7
  request(
8
8
  :expects => 200,
@@ -12,8 +12,8 @@ module Megam
12
12
  end
13
13
 
14
14
 
15
- def get_eventsMarketplaces(limit, new_events)
16
- @options = {:path => "/eventsmarketplaces/show/#{limit}",
15
+ def get_eventsMarketplace(limit, new_events)
16
+ @options = {:path => "/eventsmarketplace/show/#{limit}",
17
17
  :body => Megam::JSONCompat.to_json(new_events)}.merge(@options)
18
18
  request(
19
19
  :expects => 200,
@@ -22,8 +22,8 @@ module Megam
22
22
  )
23
23
  end
24
24
 
25
- def index_eventsMarketplaces
26
- @options = {:path => "/eventsmarketplaces",:body => ""}.merge(@options)
25
+ def index_eventsMarketplace
26
+ @options = {:path => "/eventsmarketplace",:body => ""}.merge(@options)
27
27
 
28
28
  request(
29
29
  :expects => 200,
@@ -0,0 +1,56 @@
1
+ module Megam
2
+ class API
3
+
4
+ def get_flavors()
5
+ @options = {:path => "/flavors",:body => ""}.merge(@options)
6
+ request(
7
+ :expects => 200,
8
+ :method => :get,
9
+ :body => @options[:body]
10
+ )
11
+ end
12
+
13
+ def get_one_flavor(name)
14
+ @options = { path: "/flavors/#{name}", body: '' }.merge(@options)
15
+
16
+ request(
17
+ expects: 200,
18
+ method: :get,
19
+ body: @options[:body]
20
+ )
21
+ end
22
+
23
+ def post_flavors(new_flavors)
24
+ @options = {:path => "/flavors/content",
25
+ :body => Megam::JSONCompat.to_json(new_flavors)}.merge(@options)
26
+ request(
27
+ :expects => 201,
28
+ :method => :post,
29
+ :body => @options[:body]
30
+ )
31
+ end
32
+
33
+ def update_flavors(update_flavors)
34
+ @options = {:path => '/flavors/update',
35
+ :body => Megam::JSONCompat.to_json(update_flavors)}.merge(@options)
36
+
37
+ request(
38
+ :expects => 201,
39
+ :method => :post,
40
+ :body => @options[:body]
41
+ )
42
+ end
43
+
44
+ def delete_flavors(delete_flavors)
45
+ @options = {path: "/flavors/#{delete_flavors["name"]}",
46
+ :body => ''}.merge(@options)
47
+
48
+ request(
49
+ :expects => 200,
50
+ :method => :delete,
51
+ :body => @options[:body]
52
+ )
53
+ end
54
+
55
+ end
56
+ end
@@ -1,5 +1,5 @@
1
1
  module Megam
2
2
  class API
3
- VERSION = "1.51.4"
3
+ VERSION = "1.52.1"
4
4
  end
5
5
  end
@@ -1,8 +1,8 @@
1
1
  module Megam
2
- class EventsMarketplaces < Megam::RestAdapter
2
+ class EventsMarketplace < Megam::RestAdapter
3
3
  def initialize(o)
4
4
  @account_id = nil
5
- @assembly_id = nil
5
+ @marketplace_id = nil
6
6
  @event_type = nil
7
7
  @data = []
8
8
  @created_at = nil
@@ -12,7 +12,7 @@ module Megam
12
12
  super(o)
13
13
  end
14
14
 
15
- def eventsMarketplaces
15
+ def eventsmarketplace
16
16
  self
17
17
  end
18
18
 
@@ -32,11 +32,11 @@ module Megam
32
32
  end
33
33
  end
34
34
 
35
- def assembly_id(arg=nil)
35
+ def marketplace_id(arg=nil)
36
36
  if arg != nil
37
- @assembly_id = arg
37
+ @marketplace_id = arg
38
38
  else
39
- @assembly_id
39
+ @marketplace_id
40
40
  end
41
41
  end
42
42
 
@@ -91,7 +91,7 @@ module Megam
91
91
  index_hash = Hash.new
92
92
  index_hash["json_claz"] = self.class.name
93
93
  index_hash["account_id"] = account_id
94
- index_hash["assembly_id"] = assembly_id
94
+ index_hash["marketplace_id"] = marketplace_id
95
95
  index_hash["event_type"] = event_type
96
96
  index_hash["data"] = data
97
97
  index_hash["limit"] = limit
@@ -110,7 +110,7 @@ module Megam
110
110
  def for_json
111
111
  result = {
112
112
  "account_id" => account_id,
113
- "assembly_id" => assembly_id,
113
+ "marketplace_id" => marketplace_id,
114
114
  "event_type" => event_type,
115
115
  "data" => data,
116
116
  "limit" => limit,
@@ -123,7 +123,7 @@ module Megam
123
123
  def self.json_create(o)
124
124
  evt = new({})
125
125
  evt.account_id(o["account_id"]) if o.has_key?("account_id")
126
- evt.assembly_id(o["assembly_id"]) if o.has_key?("assembly_id")
126
+ evt.marketplace_id(o["marketplace_id"]) if o.has_key?("marketplace_id")
127
127
  evt.id(o["id"]) if o.has_key?("id")
128
128
  evt.event_type(o["event_type"]) if o.has_key?("event_type") #this will be an array? can hash store array?
129
129
  evt.data(o["data"]) if o.has_key?("data")
@@ -144,7 +144,7 @@ module Megam
144
144
 
145
145
  def from_hash(o)
146
146
  @account_id = o[:account_id] if o.has_key?(:account_id)
147
- @assembly_id = o[:assembly_id] if o.has_key?(:assembly_id)
147
+ @marketplace_id = o[:marketplace_id] if o.has_key?(:marketplace_id)
148
148
  @event_type = o[:event_type] if o.has_key?(:event_type)
149
149
  @data = o[:data] if o.has_key?(:data)
150
150
  @limit = o[:limit] if o.has_key?(:limit)
@@ -166,17 +166,17 @@ module Megam
166
166
  # Load a account by email_p
167
167
  def self.show(o)
168
168
  evt = from_hash(o)
169
- evt.megam_rest.get_eventsMarketplaces(o[:limit], evt.from_hash(o).for_json)
169
+ evt.megam_rest.get_eventsMarketplace(o[:limit], evt.from_hash(o).for_json)
170
170
  end
171
171
 
172
172
  def self.list(params)
173
173
  asm = self.new(params)
174
- asm.megam_rest.list_eventsMarketplaces(params[:limit])
174
+ asm.megam_rest.list_eventsMarketplace(params[:limit])
175
175
  end
176
176
 
177
177
  def self.index(params)
178
178
  asm = self.new(params)
179
- asm.megam_rest.index_eventsMarketplaces
179
+ asm.megam_rest.index_eventsMarketplace
180
180
  end
181
181
 
182
182
  def to_s
@@ -0,0 +1,122 @@
1
+ module Megam
2
+ class EventsMarketplaceCollection
3
+ include Enumerable
4
+
5
+ attr_reader :iterator
6
+ def initialize
7
+ @eventsmarketplace = Array.new
8
+ @eventsmarketplace_by_name = Hash.new
9
+ @insert_after_idx = nil
10
+ end
11
+
12
+ def all_eventsmarketplace
13
+ @eventsmarketplace
14
+ end
15
+
16
+ def [](index)
17
+ @eventsmarketplace[index]
18
+ end
19
+
20
+ def []=(index, arg)
21
+ is_megam_eventsvm(arg)
22
+ @eventsmarketplace[index] = arg
23
+ @eventsmarketplace_by_name[arg.account_id] = index
24
+ end
25
+
26
+ def <<(*args)
27
+ args.flatten.each do |a|
28
+ is_megam_events(a)
29
+ @eventsmarketplace << a
30
+ @eventsmarketplace_by_name[a.account_id] = @eventsmarketplace.length - 1
31
+ end
32
+ self
33
+ end
34
+
35
+ # 'push' is an alias method to <<
36
+ alias_method :push, :<<
37
+
38
+ def insert(eventsmarketplace)
39
+ is_megam_eventsmarketplace(eventsmarketplace)
40
+ if @insert_after_idx
41
+ # in the middle of executing a run, so any nodes inserted now should
42
+ # be placed after the most recent addition done by the currently executing
43
+ # node
44
+ @eventsmarketplace.insert(@insert_after_idx + 1, eventsmarketplace)
45
+ # update name -> location mappings and register new node
46
+ @eventsmarketplace_by_name.each_key do |key|
47
+ @eventsmarketplace_by_name[key] += 1 if @eventsmarketplace_by_name[key] > @insert_after_idx
48
+ end
49
+ @eventsmarketplace_by_name[eventsmarketplace.account_id] = @insert_after_idx + 1
50
+ @insert_after_idx += 1
51
+ else
52
+ @eventsmarketplace << eventsmarketplace
53
+ @eventsmarketplace_by_name[eventsmarketplace.account_id] = @eventsmarketplace.length - 1
54
+ end
55
+ end
56
+
57
+ def each
58
+ @eventsmarketplace.each do |eventsmarketplace|
59
+ yield eventsmarketplace
60
+ end
61
+ end
62
+
63
+ def each_index
64
+ @eventsmarketplace.each_index do |i|
65
+ yield i
66
+ end
67
+ end
68
+
69
+ def empty?
70
+ @eventsmarketplace.empty?
71
+ end
72
+
73
+ def lookup(eventsmarketplace)
74
+ lookup_by = nil
75
+ if events.kind_of?(Megam::EventsMarketplace)
76
+ lookup_by = eventsmarketplace.account_id
77
+ elsif eventsmarketplace.kind_of?(String)
78
+ lookup_by = eventsmarketplace
79
+ else
80
+ raise ArgumentError, "Must pass a Megam::EventsMarketplace or String to lookup"
81
+ end
82
+ res = @eventsmarketplace_by_name[lookup_by]
83
+ unless res
84
+ raise ArgumentError, "Cannot find a node matching #{lookup_by} (did you define it first?)"
85
+ end
86
+ @eventsmarketplace[res]
87
+ end
88
+
89
+ def to_s
90
+ @eventsmarketplace.join(", ")
91
+ end
92
+
93
+ def for_json
94
+ to_a.map { |item| item.to_s }
95
+ end
96
+
97
+ def to_json(*a)
98
+ Megam::JSONCompat.to_json(for_json, *a)
99
+ end
100
+
101
+ def self.json_create(o)
102
+ collection = self.new()
103
+ o["results"].each do |eventsmarketplace_list|
104
+ eventsmarketplace_array = eventsmarketplace_list.kind_of?(Array) ? eventsmarketplace_list : [ eventsmarketplace_list ]
105
+ eventsmarketplace_array.each do |eventsmarketplace|
106
+ collection.insert(eventsmarketplace)
107
+
108
+ end
109
+ end
110
+ collection
111
+ end
112
+
113
+ private
114
+
115
+ def is_megam_eventsmarketplace(arg)
116
+ unless arg.kind_of?(Megam::EventsMarketplace)
117
+ raise ArgumentError, "Members must be Megam::EventsMarketplace's"
118
+ end
119
+ true
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,276 @@
1
+ module Megam
2
+ class Flavors < Megam::RestAdapter
3
+ def initialize(o)
4
+ @id = nil
5
+ @org_id = nil
6
+ @account_id = nil
7
+ @name = nil
8
+ @cpu = nil
9
+ @ram = nil
10
+ @disk = nil
11
+ @regions = []
12
+ @price = []
13
+ @properties = []
14
+ @status = nil
15
+ @created_at = nil
16
+ @updated_at = nil
17
+ @some_msg = {}
18
+ super(o)
19
+ end
20
+
21
+ def flavors
22
+ self
23
+ end
24
+
25
+ def id(arg = nil)
26
+ if arg != nil
27
+ @id = arg
28
+ else
29
+ @id
30
+ end
31
+ end
32
+
33
+ def org_id(arg = nil)
34
+ if arg != nil
35
+ @org_id = arg
36
+ else
37
+ @org_id
38
+ end
39
+ end
40
+
41
+ def account_id(arg=nil)
42
+ if arg != nil
43
+ @account_id = arg
44
+ else
45
+ @account_id
46
+ end
47
+ end
48
+
49
+ def name(arg = nil)
50
+ if arg != nil
51
+ @name = arg
52
+ else
53
+ @name
54
+ end
55
+ end
56
+
57
+
58
+ def cpu(arg = nil)
59
+ if arg != nil
60
+ @cpu = arg
61
+ else
62
+ @cpu
63
+ end
64
+ end
65
+
66
+ def ram(arg = nil)
67
+ if arg != nil
68
+ @ram = arg
69
+ else
70
+ @ram
71
+ end
72
+ end
73
+
74
+ def disk(arg = nil)
75
+ if arg != nil
76
+ @disk = arg
77
+ else
78
+ @disk
79
+ end
80
+ end
81
+
82
+ def regions(arg = [])
83
+ if arg != []
84
+ @regions = arg
85
+ else
86
+ @regions
87
+ end
88
+ end
89
+
90
+ def price(arg = [])
91
+ if arg != []
92
+ @price = arg
93
+ else
94
+ @price
95
+ end
96
+ end
97
+
98
+ def properties(arg = [])
99
+ if arg != []
100
+ @properties = arg
101
+ else
102
+ @properties
103
+ end
104
+ end
105
+
106
+ def status(arg=nil)
107
+ if arg != nil
108
+ @status = arg
109
+ else
110
+ @status
111
+ end
112
+ end
113
+
114
+ def created_at(arg=nil)
115
+ if arg != nil
116
+ @created_at = arg
117
+ else
118
+ @created_at
119
+ end
120
+ end
121
+
122
+ def updated_at(arg=nil)
123
+ if arg != nil
124
+ @updated_at = arg
125
+ else
126
+ @updated_at
127
+ end
128
+ end
129
+
130
+ def error?
131
+ crocked = true if some_msg.key?(:msg_type) && some_msg[:msg_type] == 'error'
132
+ end
133
+
134
+ def some_msg(arg=nil)
135
+ if arg != nil
136
+ @some_msg = arg
137
+ else
138
+ @some_msg
139
+ end
140
+ end
141
+
142
+ # Transform the ruby obj -> to a Hash
143
+ def to_hash
144
+ index_hash = Hash.new
145
+ index_hash['json_claz'] = self.class.name
146
+ index_hash['id'] = id
147
+ index_hash['org_id'] = org_id
148
+ index_hash["account_id"] = account_id
149
+ index_hash['name'] = name
150
+ index_hash['cpu'] = cpu
151
+ index_hash['ram'] = ram
152
+ index_hash['disk'] = disk
153
+ index_hash['regions'] = regions
154
+ index_hash['price'] = price
155
+ index_hash['properties'] = properties
156
+ index_hash['status'] = status
157
+ index_hash['created_at'] = created_at
158
+ index_hash['updated_at'] = updated_at
159
+ index_hash["some_msg"] = some_msg
160
+ index_hash
161
+ end
162
+
163
+ # Serialize this object as a hash: called from JsonCompat.
164
+ # Verify if this called from JsonCompat during testing.
165
+ def to_json(*a)
166
+ for_json.to_json(*a)
167
+ end
168
+
169
+ def for_json
170
+ result = {
171
+ 'id' => id,
172
+ 'account_id' => account_id,
173
+ 'name' => name,
174
+ 'org_id' => org_id,
175
+ 'cpu' => cpu,
176
+ 'ram' => ram,
177
+ 'disk' => disk,
178
+ 'regions' => regions,
179
+ 'price' => price,
180
+ 'properties' => properties,
181
+ 'status' => status,
182
+ 'created_at' => created_at,
183
+ 'updated_at' => updated_at
184
+ }
185
+
186
+ result
187
+ end
188
+
189
+ def self.json_create(o)
190
+ fav = new({})
191
+ fav.id(o['id']) if o.key?('id')
192
+ fav.org_id(o['org_id']) if o.key?('org_id')
193
+ fav.account_id(o["account_id"]) if o.has_key?("account_id")
194
+ fav.name(o['name']) if o.key?('name')
195
+ fav.cpu(o['cpu']) if o.key?('cpu')
196
+ fav.ram(o['ram']) if o.key?('ram')
197
+ fav.disk(o['disk']) if o.key?('disk')
198
+ fav.regions(o['regions']) if o.key?('regions')
199
+ fav.price(o['price']) if o.key?('price')
200
+ fav.properties(o['properties']) if o.key?('properties')
201
+ fav.status(o['status']) if o.key?('status')
202
+ fav.created_at(o['created_at']) if o.key?('created_at')
203
+ fav.updated_at(o['updated_at']) if o.key?('updated_at')
204
+ fav.some_msg[:code] = o["code"] if o.has_key?("code")
205
+ fav.some_msg[:msg_type] = o["msg_type"] if o.has_key?("msg_type")
206
+ fav.some_msg[:msg]= o["msg"] if o.has_key?("msg")
207
+ fav.some_msg[:links] = o["links"] if o.has_key?("links")
208
+ fav
209
+ end
210
+
211
+ def self.from_hash(o)
212
+ fav = self.new(o)
213
+ fav.from_hash(o)
214
+ fav
215
+ end
216
+
217
+ def from_hash(o)
218
+ @id = o[:id] if o.has_key?(:id)
219
+ @org_id = o[:org_id] if o.has_key?(:org_id)
220
+ @account_id = o[:account_id] if o.has_key?(:account_id)
221
+ @name = o[:name] if o.has_key?(:name)
222
+ @cpu = o[:cpu] if o.has_key?(:cpu)
223
+ @ram = o[:ram] if o.has_key?(:ram)
224
+ @disk = o[:disk] if o.has_key?(:disk)
225
+ @regions = o[:regions] if o.has_key?(:regions)
226
+ @price = o[:price] if o.has_key?(:price)
227
+ @properties = o[:properties] if o.has_key?(:properties)
228
+ @status = o[:status] if o.has_key?(:status)
229
+ @created_at = o[:created_at] if o.has_key?(:created_at)
230
+ @updated_at = o[:updated_at] if o.has_key?(:updated_at)
231
+ self
232
+ end
233
+
234
+
235
+ def self.show(params)
236
+ fav = self.new(params)
237
+ fav.megam_rest.get_one_flavor(params[:name])
238
+ end
239
+
240
+ def self.list(params)
241
+ fav = self.new(params)
242
+ fav.megam_rest.get_flavors
243
+ end
244
+
245
+ def self.create(params)
246
+ fav = from_hash(params)
247
+ fav.create
248
+ end
249
+
250
+ def create
251
+ megam_rest.post_flavors(to_hash)
252
+ end
253
+
254
+ def update
255
+ megam_rest.update_flavors(to_hash)
256
+ end
257
+
258
+ def self.update(params)
259
+ fav = from_hash(params)
260
+ fav.update
261
+ end
262
+
263
+ def self.remove(o)
264
+ fav = from_hash(o)
265
+ fav.remove
266
+ end
267
+
268
+ def remove
269
+ megam_rest.delete_flavors(to_hash)
270
+ end
271
+
272
+ def to_s
273
+ Megam::Stuff.styled_hash(to_hash)
274
+ end
275
+ end
276
+ end
@@ -0,0 +1,122 @@
1
+ module Megam
2
+ class FlavorsCollection
3
+ include Enumerable
4
+
5
+ attr_reader :iterator
6
+
7
+ def initialize
8
+ @flavors = Array.new
9
+ @flavors_by_name = Hash.new
10
+ @insert_after_idx = nil
11
+ end
12
+
13
+ def all_flavors
14
+ @flavors
15
+ end
16
+
17
+ def [](index)
18
+ @flavors[index]
19
+ end
20
+
21
+ def []=(index, arg)
22
+ is_megam_flavors(arg)
23
+ @flavors[index] = arg
24
+ @flavors_by_name[arg.name] = index
25
+ end
26
+
27
+ def <<(*args)
28
+ args.flatten.each do |a|
29
+ is_megam_flavors(a)
30
+ @flavors << a
31
+ @flavors_by_name[a.name] =@flavors.length - 1
32
+ end
33
+ self
34
+ end
35
+
36
+ # 'push' is an alias method to <<
37
+ alias_method :push, :<<
38
+
39
+ def insert(flavors)
40
+ is_megam_flavors(flavors)
41
+ if @insert_after_idx
42
+ # in the middle of executing a run, so any flavors inserted now should
43
+ # be placed after the most recent addition done by the currently executing
44
+ # flavors
45
+ @flavors.insert(@insert_after_idx + 1, flavors)
46
+ # update name -> location mappings and register new flavors
47
+ @flavors_by_name.each_key do |key|
48
+ @flavors_by_name[key] += 1 if@flavors_by_name[key] > @insert_after_idx
49
+ end
50
+ @flavors_by_name[flavors.name] = @insert_after_idx + 1
51
+ @insert_after_idx += 1
52
+ else
53
+ @flavors << flavors
54
+ @flavors_by_name[flavors.name] =@flavors.length - 1
55
+ end
56
+ end
57
+
58
+ def each
59
+ @flavors.each do |flavors|
60
+ yield flavors
61
+ end
62
+ end
63
+
64
+ def each_index
65
+ @flavors.each_index do |i|
66
+ yield i
67
+ end
68
+ end
69
+
70
+ def empty?
71
+ @flavors.empty?
72
+ end
73
+
74
+ def lookup(flavors)
75
+ lookup_by = nil
76
+ if flavors.kind_of?(Megam::Flavors)
77
+ lookup_by = flavors.name
78
+ elsif flavors.kind_of?(String)
79
+ lookup_by = flavors
80
+ else
81
+ raise ArgumentError, "Must pass a Megam::flavors or String to lookup"
82
+ end
83
+ res =@flavors_by_name[lookup_by]
84
+ unless res
85
+ raise ArgumentError, "Cannot find a flavors matching #{lookup_by} (did you define it first?)"
86
+ end
87
+ @flavors[res]
88
+ end
89
+
90
+ def to_s
91
+ @flavors.join(", ")
92
+ end
93
+
94
+ def for_json
95
+ to_a.map { |item| item.to_s }
96
+ end
97
+
98
+ def to_json(*a)
99
+ Megam::JSONCompat.to_json(for_json, *a)
100
+ end
101
+
102
+ def self.json_create(o)
103
+ collection = self.new()
104
+ o["results"].each do |flavors_list|
105
+ flavors_array = flavors_list.kind_of?(Array) ? flavors_list : [ flavors_list ]
106
+ flavors_array.each do |flavors|
107
+ collection.insert(flavors)
108
+ end
109
+ end
110
+ collection
111
+ end
112
+
113
+ private
114
+
115
+ def is_megam_flavors(arg)
116
+ unless arg.kind_of?(Megam::Flavors)
117
+ raise ArgumentError, "Members must be Megam::Flavors's"
118
+ end
119
+ true
120
+ end
121
+ end
122
+ end
@@ -54,8 +54,8 @@ module Megam
54
54
  MEGAM_EVENTSVMCOLLECTION = 'Megam::EventsVmCollection'.freeze
55
55
  MEGAM_EVENTSCONTAINER = 'Megam::EventsContainer'.freeze
56
56
  MEGAM_EVENTSCONTAINERCOLLECTION = 'Megam::EventsContainerCollection'.freeze
57
- MEGAM_EVENTSMARKETPLACES = 'Megam::EventsMarketplaces'.freeze
58
- MEGAM_EVENTSMARKETPLACESCOLLECTION = 'Megam::EventsMarketplacesCollection'.freeze
57
+ MEGAM_EVENTSMARKETPLACE = 'Megam::EventsMarketplace'.freeze
58
+ MEGAM_EventsMarketplaceCollection = 'Megam::EventsMarketplaceCollection'.freeze
59
59
  MEGAM_EVENTSBILLING = 'Megam::EventsBilling'.freeze
60
60
  MEGAM_EVENTSBILLINGCOLLECTION = 'Megam::EventsBillingCollection'.freeze
61
61
  MEGAM_EVENTSSTORAGE = 'Megam::EventsStorage'.freeze
@@ -68,6 +68,8 @@ module Megam
68
68
  MEGAM_REPORTSCOLLECTION = 'Megam::ReportsCollection'.freeze
69
69
  MEGAM_QUOTAS = 'Megam::Quotas'.freeze
70
70
  MEGAM_QUOTASCOLLECTION = 'Megam::QuotasCollection'.freeze
71
+ MEGAM_FLAVORS = 'Megam::Flavors'.freeze
72
+ MEGAM_FLAVORSCOLLECTION = 'Megam::FlavorsCollection'.freeze
71
73
  MEGAM_RAWIMAGES = 'Megam::Rawimages'.freeze
72
74
  MEGAM_RAWIMAGESCOLLECTION = 'Megam::RawimagesCollection'.freeze
73
75
  MEGAM_PROMOS = 'Megam::Promos'.freeze
@@ -184,14 +186,18 @@ module Megam
184
186
  Megam::EventsVm
185
187
  when MEGAM_EVENTSVMCOLLECTION
186
188
  Megam::EventsVmCollection
187
- when MEGAM_EVENTSMARKETPLACES
188
- Megam::EventsMarketplaces
189
- when MEGAM_EVENTSMARKETPLACESCOLLECTION
190
- Megam::EventsMarketplacesCollection
189
+ when MEGAM_EVENTSMARKETPLACE
190
+ Megam::EventsMarketplace
191
+ when MEGAM_EventsMarketplaceCollection
192
+ Megam::EventsMarketplaceCollection
191
193
  when MEGAM_LICENSE
192
194
  Megam::License
193
195
  when MEGAM_LICENSECOLLECTION
194
196
  Megam::LicenseCollection
197
+ when MEGAM_FLAVORS
198
+ Megam::Flavors
199
+ when MEGAM_FLAVORSCOLLECTION
200
+ Megam::FlavorsCollection
195
201
  when MEGAM_EVENTSALL
196
202
  Megam::EventsAll
197
203
  when MEGAM_EVENTSALLCOLLECTION
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: 1.51.4
4
+ version: 1.52.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rajthilak, Kishorekumar Neelamegam, Ranjitha R, Vinodhini V, Rathish VBR, Rajesh
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-20 00:00:00.000000000 Z
12
+ date: 2017-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
@@ -152,9 +152,10 @@ files:
152
152
  - lib/megam/api/eventsall.rb
153
153
  - lib/megam/api/eventsbilling.rb
154
154
  - lib/megam/api/eventscontainer.rb
155
- - lib/megam/api/eventsmarketplaces.rb
155
+ - lib/megam/api/eventsmarketplace.rb
156
156
  - lib/megam/api/eventsstorage.rb
157
157
  - lib/megam/api/eventsvm.rb
158
+ - lib/megam/api/flavors.rb
158
159
  - lib/megam/api/license.rb
159
160
  - lib/megam/api/marketplaces.rb
160
161
  - lib/megam/api/organizations.rb
@@ -199,12 +200,14 @@ files:
199
200
  - lib/megam/core/eventsbilling_collection.rb
200
201
  - lib/megam/core/eventscontainer.rb
201
202
  - lib/megam/core/eventscontainer_collection.rb
202
- - lib/megam/core/eventsmarketplaces.rb
203
- - lib/megam/core/eventsmarketplaces_collection.rb
203
+ - lib/megam/core/eventsmarketplace.rb
204
+ - lib/megam/core/eventsmarketplace_collection.rb
204
205
  - lib/megam/core/eventsstorage.rb
205
206
  - lib/megam/core/eventsstorage_collection.rb
206
207
  - lib/megam/core/eventsvm.rb
207
208
  - lib/megam/core/eventsvm_collection.rb
209
+ - lib/megam/core/flavors.rb
210
+ - lib/megam/core/flavors_collection.rb
208
211
  - lib/megam/core/json_compat.rb
209
212
  - lib/megam/core/konipai.rb
210
213
  - lib/megam/core/license.rb
@@ -1,122 +0,0 @@
1
- module Megam
2
- class EventsMarketplacesCollection
3
- include Enumerable
4
-
5
- attr_reader :iterator
6
- def initialize
7
- @eventsmarketplaces = Array.new
8
- @eventsmarketplaces_by_name = Hash.new
9
- @insert_after_idx = nil
10
- end
11
-
12
- def all_eventsmarketplaces
13
- @eventsmarketplaces
14
- end
15
-
16
- def [](index)
17
- @eventsmarketplaces[index]
18
- end
19
-
20
- def []=(index, arg)
21
- is_megam_eventsvm(arg)
22
- @eventsmarketplaces[index] = arg
23
- @eventsmarketplaces_by_name[arg.account_id] = index
24
- end
25
-
26
- def <<(*args)
27
- args.flatten.each do |a|
28
- is_megam_events(a)
29
- @eventsmarketplaces << a
30
- @eventsmarketplaces_by_name[a.account_id] = @eventsmarketplaces.length - 1
31
- end
32
- self
33
- end
34
-
35
- # 'push' is an alias method to <<
36
- alias_method :push, :<<
37
-
38
- def insert(eventsmarketplaces)
39
- is_megam_eventsmarketplaces(eventsmarketplaces)
40
- if @insert_after_idx
41
- # in the middle of executing a run, so any nodes inserted now should
42
- # be placed after the most recent addition done by the currently executing
43
- # node
44
- @eventsmarketplaces.insert(@insert_after_idx + 1, eventsmarketplaces)
45
- # update name -> location mappings and register new node
46
- @eventsmarketplaces_by_name.each_key do |key|
47
- @eventsmarketplaces_by_name[key] += 1 if @eventsmarketplaces_by_name[key] > @insert_after_idx
48
- end
49
- @eventsmarketplaces_by_name[eventsmarketplaces.account_id] = @insert_after_idx + 1
50
- @insert_after_idx += 1
51
- else
52
- @eventsmarketplaces << eventsmarketplaces
53
- @eventsmarketplaces_by_name[eventsmarketplaces.account_id] = @eventsmarketplaces.length - 1
54
- end
55
- end
56
-
57
- def each
58
- @eventsmarketplaces.each do |eventsmarketplaces|
59
- yield eventsmarketplaces
60
- end
61
- end
62
-
63
- def each_index
64
- @eventsmarketplaces.each_index do |i|
65
- yield i
66
- end
67
- end
68
-
69
- def empty?
70
- @eventsmarketplaces.empty?
71
- end
72
-
73
- def lookup(eventsmarketplaces)
74
- lookup_by = nil
75
- if events.kind_of?(Megam::EventsMarketplaces)
76
- lookup_by = eventsmarketplaces.account_id
77
- elsif eventsmarketplaces.kind_of?(String)
78
- lookup_by = eventsmarketplaces
79
- else
80
- raise ArgumentError, "Must pass a Megam::EventsMarketplaces or String to lookup"
81
- end
82
- res = @eventsmarketplaces_by_name[lookup_by]
83
- unless res
84
- raise ArgumentError, "Cannot find a node matching #{lookup_by} (did you define it first?)"
85
- end
86
- @eventsmarketplaces[res]
87
- end
88
-
89
- def to_s
90
- @eventsmarketplaces.join(", ")
91
- end
92
-
93
- def for_json
94
- to_a.map { |item| item.to_s }
95
- end
96
-
97
- def to_json(*a)
98
- Megam::JSONCompat.to_json(for_json, *a)
99
- end
100
-
101
- def self.json_create(o)
102
- collection = self.new()
103
- o["results"].each do |eventsmarketplaces_list|
104
- eventsmarketplaces_array = eventsmarketplaces_list.kind_of?(Array) ? eventsmarketplaces_list : [ eventsmarketplaces_list ]
105
- eventsmarketplaces_array.each do |eventsmarketplaces|
106
- collection.insert(eventsmarketplaces)
107
-
108
- end
109
- end
110
- collection
111
- end
112
-
113
- private
114
-
115
- def is_megam_eventsmarketplaces(arg)
116
- unless arg.kind_of?(Megam::EventsMarketplaces)
117
- raise ArgumentError, "Members must be Megam::EventsMarketplaces's"
118
- end
119
- true
120
- end
121
- end
122
- end