megam_api 0.71 → 0.72

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: 64bfe0cf1c050cdddbbc5d97056a04c628b838b1
4
- data.tar.gz: 89bfebf0981483a9dbbe56fc0af7d2f98cd14ca0
3
+ metadata.gz: 10829b22401a59fc9bc209b0a3a107a37ab35b06
4
+ data.tar.gz: 79ec7f1a4bc07c1e111bef7ca3c71b2a5843f2f2
5
5
  SHA512:
6
- metadata.gz: 49962356b9a6463392bbc1697e68dfb8b512aee472998518a40f55e9416ac823069143965f78049483e1fad9cf649588a70c42cb0c6a32a486a038f142071e23
7
- data.tar.gz: 826a0b8ac72588fe01869d761bd6c21324758b107ff4dedc5f20f9d1eab6618f6bdc48f355c7095dba83d7e1e58f9c7fc5efe029343fc8bb4dac46a34d54b922
6
+ metadata.gz: feba2ff261c2964c2a51caef0c3629ba725cafaa2f5e872f9ee68596c7b5d1d7815d08de1ef9cba089b39d66e7342dbbdc43c01771ec4879cafbddc48f938828
7
+ data.tar.gz: d130ac562711645cd9b09d73f3d10d539328681bce844493286a4ce9c99b1fd048bd4ab89b391ed80f4a36fde23562de5c9af52ad352a1aa98e5c3a76c20e1e9
@@ -14,7 +14,7 @@ require 'megam/api/errors'
14
14
  require 'megam/api/version'
15
15
  require 'megam/api/accounts'
16
16
  require 'megam/api/requests'
17
- require 'megam/api/cloud_tool_settings'
17
+ # require 'megam/api/cloud_tool_settings'
18
18
  require 'megam/api/sshkeys'
19
19
  require 'megam/api/marketplaces'
20
20
  require 'megam/api/marketplace_addons'
@@ -45,8 +45,8 @@ require 'megam/core/error'
45
45
  require 'megam/core/account'
46
46
  require 'megam/core/request'
47
47
  require 'megam/core/request_collection'
48
- require 'megam/core/cloudtoolsetting'
49
- require 'megam/core/cloudtoolsetting_collection'
48
+ # require 'megam/core/cloudtoolsetting'
49
+ # require 'megam/core/cloudtoolsetting_collection'
50
50
  require 'megam/core/sshkey'
51
51
  require 'megam/core/sshkey_collection'
52
52
  require 'megam/core/marketplace'
@@ -1,5 +1,5 @@
1
1
  module Megam
2
2
  class API
3
- VERSION = "0.71"
3
+ VERSION = "0.72"
4
4
  end
5
5
  end
@@ -18,6 +18,7 @@ module Megam
18
18
  class Assembly < Megam::ServerAPI
19
19
  def initialize(email=nil, api_key=nil, host=nil)
20
20
  @id = nil
21
+ @asms_id = nil
21
22
  @name = nil
22
23
  @tosca_type = nil
23
24
  @components = []
@@ -43,6 +44,14 @@ module Megam
43
44
  end
44
45
  end
45
46
 
47
+ def asms_id(arg=nil)
48
+ if arg != nil
49
+ @asms_id = arg
50
+ else
51
+ @asms_id
52
+ end
53
+ end
54
+
46
55
  def name(arg=nil)
47
56
  if arg != nil
48
57
  @name = arg
@@ -50,7 +59,7 @@ module Megam
50
59
  @name
51
60
  end
52
61
  end
53
-
62
+
54
63
  def tosca_type(arg=nil)
55
64
  if arg != nil
56
65
  @tosca_type = arg
@@ -66,7 +75,7 @@ module Megam
66
75
  @components
67
76
  end
68
77
  end
69
-
78
+
70
79
  def requirements(arg=[])
71
80
  if arg != []
72
81
  @requirements = arg
@@ -132,6 +141,7 @@ module Megam
132
141
  index_hash = Hash.new
133
142
  index_hash["json_claz"] = self.class.name
134
143
  index_hash["id"] = id
144
+ index_hash["asms_id"] = asms_id
135
145
  index_hash["name"] = name
136
146
  index_hash["tosca_type"] = tosca_type
137
147
  index_hash["components"] = components
@@ -172,6 +182,7 @@ module Megam
172
182
  def self.json_create(o)
173
183
  asm = new
174
184
  asm.id(o["id"]) if o.has_key?("id")
185
+ asm.asms_id(o["asms_id"]) if o.has_key?("asms_id")
175
186
  asm.name(o["name"]) if o.has_key?("name")
176
187
  asm.tosca_type(o["tosca_type"]) if o.has_key?("tosca_type")
177
188
  asm.components(o["components"]) if o.has_key?("components")
@@ -193,6 +204,7 @@ module Megam
193
204
 
194
205
  def from_hash(o)
195
206
  @id = o["id"] if o.has_key?("id")
207
+ @asms_id = o["asmd_id"] if o.has_key?("asms_id")
196
208
  @name = o["name"] if o.has_key?("name")
197
209
  @tosca_type = o["tosca_type"] if o.has_key?("tosca_type")
198
210
  @components = o["components"] if o.has_key?("components")
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.71'
4
+ version: '0.72'
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-09-22 00:00:00.000000000 Z
12
+ date: 2015-10-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
@@ -139,7 +139,6 @@ files:
139
139
  - lib/megam/api/balances.rb
140
140
  - lib/megam/api/billinghistories.rb
141
141
  - lib/megam/api/billings.rb
142
- - lib/megam/api/cloud_tool_settings.rb
143
142
  - lib/megam/api/components.rb
144
143
  - lib/megam/api/credithistories.rb
145
144
  - lib/megam/api/csars.rb
@@ -170,8 +169,6 @@ files:
170
169
  - lib/megam/core/billinghistories_collection.rb
171
170
  - lib/megam/core/billings.rb
172
171
  - lib/megam/core/billings_collection.rb
173
- - lib/megam/core/cloudtoolsetting.rb
174
- - lib/megam/core/cloudtoolsetting_collection.rb
175
172
  - lib/megam/core/components.rb
176
173
  - lib/megam/core/components_collection.rb
177
174
  - lib/megam/core/config.rb
@@ -215,7 +212,6 @@ files:
215
212
  - test/test_billinghistories.rb
216
213
  - test/test_billings.rb
217
214
  - test/test_cat_requests.rb
218
- - test/test_cloudtoolsettings.rb
219
215
  - test/test_components.rb
220
216
  - test/test_credithistories.rb
221
217
  - test/test_csars.rb
@@ -266,7 +262,6 @@ test_files:
266
262
  - test/test_billinghistories.rb
267
263
  - test/test_billings.rb
268
264
  - test/test_cat_requests.rb
269
- - test/test_cloudtoolsettings.rb
270
265
  - test/test_components.rb
271
266
  - test/test_credithistories.rb
272
267
  - test/test_csars.rb
@@ -1,35 +0,0 @@
1
- module Megam
2
- class API
3
- def get_cloudtoolsettings
4
- @options = {:path => '/cloudtoolsettings',:body => ""}.merge(@options)
5
-
6
- request(
7
- :expects => 200,
8
- :method => :get,
9
- :body => @options[:body]
10
- )
11
- end
12
-
13
- def get_cloudtoolsetting(id)
14
- @options = {:path => "/cloudtoolsettings/#{id}",:body => ""}.merge(@options)
15
-
16
- request(
17
- :expects => 200,
18
- :method => :get,
19
- :body => @options[:body]
20
- )
21
- end
22
-
23
- def post_cloudtoolsetting(new_cloudtoolsetting)
24
- @options = {:path => '/cloudtoolsettings/content',
25
- :body => Megam::JSONCompat.to_json(new_cloudtoolsetting)}.merge(@options)
26
-
27
- request(
28
- :expects => 201,
29
- :method => :post,
30
- :body => @options[:body]
31
- )
32
- end
33
-
34
- end
35
- end
@@ -1,217 +0,0 @@
1
- # Copyright:: Copyright (c) 2012, 2014 Megam Systems
2
- # License:: Apache License, Version 2.0
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
- module Megam
17
- class CloudToolSetting < Megam::ServerAPI
18
-
19
- def initialize(email=nil, api_key=nil, host=nil)
20
- @id = nil
21
- @accounts_id = nil
22
- @cloud_type = nil
23
- @repo_name = nil
24
- @repo = nil
25
- @vault_location=nil
26
- @conf_location=nil
27
- @created_at = nil
28
- @some_msg = {}
29
- super(email, api_key, host)
30
- end
31
-
32
- def cloud_tool_setting
33
- self
34
- end
35
-
36
-
37
- def id(arg=nil)
38
- if arg != nil
39
- @id = arg
40
- else
41
- @id
42
- end
43
- end
44
-
45
- def accounts_id(arg=nil)
46
- if arg != nil
47
- @accounts_id= arg
48
- else
49
- @accounts_id
50
- end
51
- end
52
-
53
- def cloud_type(arg=nil)
54
- if arg != nil
55
- @cloud_type = arg
56
- else
57
- @cloud_type
58
- end
59
- end
60
-
61
- def repo_name(arg=nil)
62
- if arg != nil
63
- @repo_name = arg
64
- else
65
- @repo_name
66
- end
67
- end
68
-
69
- def repo(arg=nil)
70
- if arg != nil
71
- @repo = arg
72
- else
73
- @repo
74
- end
75
- end
76
-
77
- def vault_location(arg=nil)
78
- if arg != nil
79
- @vault_location= arg
80
- else
81
- @vault_location
82
- end
83
- end
84
-
85
- def conf_location(arg=nil)
86
- if arg != nil
87
- @conf_location= arg
88
- else
89
- @conf_location
90
- end
91
- end
92
-
93
- def created_at(arg=nil)
94
- if arg != nil
95
- @created_at = arg
96
- else
97
- @created_at
98
- end
99
- end
100
-
101
- def some_msg(arg=nil)
102
- if arg != nil
103
- @some_msg = arg
104
- else
105
- @some_msg
106
- end
107
- end
108
-
109
- def error?
110
- crocked = true if (some_msg.has_key?(:msg_type) && some_msg[:msg_type] == "error")
111
- end
112
-
113
- # Transform the ruby obj -> to a Hash
114
- def to_hash
115
- index_hash = Hash.new
116
- index_hash["json_claz"] = self.class.name
117
- index_hash["id"] = id
118
- index_hash["accounts_id"] = accounts_id
119
- index_hash["cloud_type"] = cloud_type
120
- index_hash["repo_name"] = repo_name
121
- index_hash["repo"] = repo
122
- index_hash["vault_location"] = vault_location
123
- index_hash["conf_location"] = conf_location
124
- index_hash["created_at"] = created_at
125
- index_hash["some_msg"] = some_msg
126
- index_hash
127
- end
128
-
129
- # Serialize this object as a hash: called from JsonCompat.
130
- # Verify if this called from JsonCompat during testing.
131
- def to_json(*a)
132
- for_json.to_json(*a)
133
- end
134
-
135
- def for_json
136
- result = {
137
- "id" => id,
138
- "accounts_id" => accounts_id,
139
- "cloud_type" => cloud_type,
140
- "repo" => repo,
141
- "repo_name" => repo_name,
142
- "vault_location" => vault_location,
143
- "conf_location" => conf_location,
144
- "created_at" => created_at
145
- }
146
- result
147
- end
148
-
149
- #
150
- def self.json_create(o)
151
- cts = new
152
- cts.id(o["id"]) if o.has_key?("id")
153
- cts.accounts_id(o["accounts_id"]) if o.has_key?("accounts_id")
154
- cts.cloud_type(o["cloud_type"]) if o.has_key?("cloud_type")
155
- cts.repo_name(o["repo_name"]) if o.has_key?("repo_name")
156
- cts.repo(o["repo"]) if o.has_key?("repo")
157
- cts.vault_location(o["vault_location"]) if o.has_key?("vault_location")
158
- cts.conf_location(o["conf_location"]) if o.has_key?("conf_location")
159
-
160
- cts.created_at(o["created_at"]) if o.has_key?("created_at")
161
- #success or error
162
- cts.some_msg[:code] = o["code"] if o.has_key?("code")
163
- cts.some_msg[:msg_type] = o["msg_type"] if o.has_key?("msg_type")
164
- cts.some_msg[:msg]= o["msg"] if o.has_key?("msg")
165
- cts.some_msg[:links] = o["links"] if o.has_key?("links")
166
- cts
167
- end
168
-
169
- def self.from_hash(o,tmp_email=nil, tmp_api_key=nil, tmp_host=nil)
170
- cts = self.new(tmp_email,tmp_api_key, tmp_host)
171
- cts.from_hash(o)
172
- cts
173
- end
174
-
175
- def from_hash(o)
176
- @id = o[:id] if o.has_key?(:id)
177
- @accounts_id = o[:accounts_id] if o.has_key?(:accounts_id)
178
- @cloud_type = o[:cloud_type] if o.has_key?(:cloud_type)
179
- @repo_name = o[:repo_name] if o.has_key?(:repo_name)
180
- @repo = o[:repo] if o.has_key?(:repo)
181
- @vault_location = o[:vault_location] if o.has_key?(:vault_location)
182
- @conf_location = o[:conf_location] if o.has_key?(:conf_location)
183
- @created_at = o[:created_at] if o.has_key?(:created_at)
184
- self
185
- end
186
-
187
- def self.create(o,tmp_email=nil, tmp_api_key=nil, tmp_host=nil)
188
- acct = from_hash(o,tmp_email, tmp_api_key, tmp_host)
189
- acct.create
190
- end
191
-
192
- # Create the cloudtoolsetting via the REST API
193
- def create
194
- megam_rest.post_cloudtoolsetting(to_hash)
195
- end
196
-
197
- # Load all cloudtoolsettings -
198
- # returns a cloudtoolsettingsCollection
199
- # don't return self. check if the Megam::cloudtoolsettingCollection is returned.
200
- def self.list(tmp_email=nil, tmp_api_key=nil, tmp_host=nil)
201
- cts = self.new(tmp_email, tmp_api_key, tmp_host)
202
- cts.megam_rest.get_cloudtoolsettings
203
- end
204
-
205
- # Show a particular cloudtoolsetting by name,
206
- # Megam::cloudtoolsetting
207
- def self.show(p_name,tmp_email=nil, tmp_api_key=nil, tmp_host=nil)
208
- pre = self.new(tmp_email, tmp_api_key, tmp_host)
209
- pre.megam_rest.get_cloudtoolsetting(p_name)
210
- end
211
-
212
- def to_s
213
- Megam::Stuff.styled_hash(to_hash)
214
- end
215
-
216
- end
217
- end
@@ -1,168 +0,0 @@
1
- # Copyright:: Copyright (c) 2012, 2014 Megam Systems
2
- # License:: Apache License, Version 2.0
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
- module Megam
17
- class CloudToolSettingCollection
18
- include Enumerable
19
-
20
- attr_reader :iterator
21
- def initialize
22
- @cloudtoolsettings = Array.new
23
- @cloudtoolsettings_by_name = Hash.new
24
- @insert_after_idx = nil
25
- end
26
-
27
- def all_cloudtoolsettings
28
- @cloudtoolsettings
29
- end
30
-
31
- def [](index)
32
- @cloudtoolsettings[index]
33
- end
34
-
35
- def []=(index, arg)
36
- is_megam_cloudtoolsettings(arg)
37
- @cloudtoolsettings[index] = arg
38
- @cloudtoolsettings_by_name[arg.repo_name] = index
39
- end
40
-
41
- def <<(*args)
42
- args.flatten.each do |a|
43
- is_megam_cloudtoolsettings(a)
44
- @cloudtoolsettings << a
45
- @cloudtoolsettings_by_name[a.repo_name] =@cloudtoolsettings.length - 1
46
- end
47
- self
48
- end
49
-
50
- # 'push' is an alias method to <<
51
- alias_method :push, :<<
52
-
53
- def insert(cloudtoolsettings)
54
- is_megam_cloudtoolsettings(cloudtoolsettings)
55
- if @insert_after_idx
56
- # in the middle of executing a run, so any cloudtoolsettings inserted now should
57
- # be placed after the most recent addition done by the currently executing
58
- # cloudtoolsettings
59
- @cloudtoolsettings.insert(@insert_after_idx + 1, cloudtoolsettings)
60
- # update name -> location mappings and register new cloudtoolsettings
61
- @cloudtoolsettings_by_name.each_key do |key|
62
- @cloudtoolsettings_by_name[key] += 1 if@cloudtoolsettings_by_name[key] > @insert_after_idx
63
- end
64
- @cloudtoolsettings_by_name[cloudtoolsettings.repo_name] = @insert_after_idx + 1
65
- @insert_after_idx += 1
66
- else
67
- @cloudtoolsettings << cloudtoolsettings
68
- @cloudtoolsettings_by_name[cloudtoolsettings.repo_name] =@cloudtoolsettings.length - 1
69
- end
70
- end
71
-
72
- def each
73
- @cloudtoolsettings.each do |cloudtoolsettings|
74
- yield cloudtoolsettings
75
- end
76
- end
77
-
78
- def each_index
79
- @cloudtoolsettings.each_index do |i|
80
- yield i
81
- end
82
- end
83
-
84
- def empty?
85
- @cloudtoolsettings.empty?
86
- end
87
-
88
- def lookup(cloudtoolsettings)
89
- lookup_by = nil
90
- if cloudtoolsettings.kind_of?(Megam::CloudToolSetting)
91
- lookup_by = cloudtoolsettings.repo_name
92
- elsif cloudtoolsettings.kind_of?(String)
93
- lookup_by = cloudtoolsettings
94
- else
95
- raise ArgumentError, "Must pass a Megam::cloudtoolsettings or String to lookup"
96
- end
97
- res =@cloudtoolsettings_by_name[lookup_by]
98
- unless res
99
- raise ArgumentError, "Cannot find a cloudtoolsettings matching #{lookup_by} (did you define it first?)"
100
- end
101
- @cloudtoolsettings[res]
102
- end
103
-
104
- # Transform the ruby obj -> to a Hash
105
- def to_hash
106
- index_hash = Hash.new
107
- self.each do |cloudtoolsettings|
108
- index_hash[cloudtoolsettings.repo_name] = cloudtoolsettings.to_s
109
- end
110
- index_hash
111
- end
112
-
113
- # Serialize this object as a hash: called from JsonCompat.
114
- # Verify if this called from JsonCompat during testing.
115
- def to_json(*a)
116
- for_json.to_json(*a)
117
- end
118
-
119
- =begin
120
- {
121
- "json_claz":"Megam::PredefCloudCollection",
122
- "results":[{
123
- "id":"NOD362554470640386048",
124
- "name":"ec2_rails",
125
- "account_id":"ACT362544229488001024",
126
- "json_claz":"Megam::PredefCloud",
127
- "spec":{
128
- "type_name":"sensor-type",
129
- "groups":"sens-group",
130
- "image":"sens-image",
131
- "flavor":"sens-flvr"
132
- },
133
- "access":{
134
- "ssh_key":"sens-ssh",
135
- "identity_file":"sens-identity-file",
136
- "ssh_user":"sens-sshuser"
137
- },
138
- "ideal":"",
139
- "performance":""
140
- }]
141
- }
142
- =end
143
- def self.json_create(o)
144
- collection = self.new()
145
- o["results"].each do |cloudtoolsettings_list|
146
- cloudtoolsettings_array = cloudtoolsettings_list.kind_of?(Array) ? cloudtoolsettings_list : [ cloudtoolsettings_list ]
147
- cloudtoolsettings_array.each do |cloudtoolsettings|
148
- collection.insert(cloudtoolsettings)
149
- end
150
- end
151
- collection
152
- end
153
-
154
- private
155
-
156
- def is_megam_cloudtoolsettings(arg)
157
- unless arg.kind_of?(Megam::CloudToolSetting)
158
- raise ArgumentError, "Members must be Megam::cloudtoolsetting's"
159
- end
160
- true
161
- end
162
-
163
- def to_s
164
- Megam::Stuff.styled_hash(to_hash)
165
- end
166
-
167
- end
168
- end
@@ -1,52 +0,0 @@
1
- require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
2
-
3
- class TestApps < MiniTest::Unit::TestCase
4
- #=begin
5
- def test_post_cloudtoolsetting1
6
- tmp_hash = { :cloud_type => "chef",
7
- :repo_name => "test_chef",
8
- :repo => "https://github.com",
9
- :vault_location => "https://s3-ap-southeast-1.amazonaws.com/cloudrecipes/megam@mypaas.io/chef",
10
- :conf_location => "megam@mypaas.io/chef/chef-repo/.chef/knife.rb"
11
- }
12
-
13
- response = megams.post_cloudtoolsetting(tmp_hash)
14
- assert_equal(201, response.status)
15
- end
16
- #=end
17
- =begin
18
- def test_post_cloudtoolsetting2
19
- tmp_hash = { :cloud_type => "chef",
20
- :repo_name => "test_chef",
21
- :repo => "https://github.com",
22
- :vault_location => "https://s3-ap-southeast-1.amazonaws.com/cloudkeys/megam@mypaas.io/default"
23
- }
24
- response = megams.post_cloudtoolsetting(tmp_hash)
25
- assert_equal(201, response.status)
26
- end
27
- =end
28
- =begin
29
- def test_get_cloudtoolsettings
30
- response = megams.get_cloudtoolsettings
31
- assert_equal(200, response.status)
32
- end
33
- =end
34
- =begin
35
- def test_get_cloudtoolsetting2
36
- response = megams.get_cloudtoolsetting("rkspce_sundown_play")
37
- assert_equal(200, response.status)
38
- end
39
- #=begin
40
- def test_get_cloudtoolsetting1
41
- response = megams.get_cloudtoolsetting("iaas_default")
42
- assert_equal(200, response.status)
43
- end
44
-
45
- def test_get_cloudtoolsetting_not_found
46
- assert_raises(Megam::API::Errors::NotFound) do
47
- megams.get_cloudtoolsetting("stupid.megam.co")
48
- end
49
- end
50
- =end
51
- end
52
-