lmc 0.11.0 → 0.12.0
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/.rubocop.yml +3 -3
- data/Rakefile +4 -3
- data/coverage/.last_run.json +1 -1
- data/lib/lmc.rb +1 -1
- data/lib/lmc/Account.rb +10 -6
- data/lib/lmc/Cloud.rb +16 -6
- data/lib/lmc/entity.rb +2 -2
- data/lib/lmc/mixins/service_resource.rb +0 -7
- data/lib/lmc/preferences/preferences.rb +24 -0
- data/lib/lmc/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec4925e30542f46b5b9c991de79a672a9eabeffda07028620aaa6fa14e62c551
|
4
|
+
data.tar.gz: 0eb5b5654694a1eb90e920df6d00d67cf4b8dda7c42fa167760d9c329bd88341
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebbb8a5bcb4eb5cdaf9f0236394f18572922a70e42f7218b9d942420e4234ff30071549fff0c37e5e6e82ffcf3cce61b8b351921915ca749f7e947a8b33e74f0
|
7
|
+
data.tar.gz: c4008e578e219956662b9b0239a543c95f921099cee0dca7553b8770cf4a986fd872b3867a506327a2c4ea522244984341e72dfb970193f1837729c71b078601
|
data/.rubocop.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
Layout/
|
1
|
+
Layout/TrailingEmptyLines:
|
2
2
|
EnforcedStyle: final_blank_line
|
3
|
-
Layout/
|
3
|
+
Layout/FirstHashElementIndentation:
|
4
4
|
IndentationWidth: 4
|
5
|
-
|
5
|
+
Layout/LineLength:
|
6
6
|
Max: 110
|
7
7
|
Style/IfUnlessModifier:
|
8
8
|
Enabled: false
|
data/Rakefile
CHANGED
@@ -21,15 +21,16 @@ RuboCop::RakeTask.new(:autocop) do |t|
|
|
21
21
|
'Layout/SpaceAroundOperators',
|
22
22
|
'Layout/SpaceInsideBlockBraces',
|
23
23
|
'Layout/SpaceInsideHashLiteralBraces',
|
24
|
-
'Layout/
|
25
|
-
'Style/BracesAroundHashParameters',
|
24
|
+
'Layout/TrailingEmptyLines',
|
26
25
|
'Style/CommentAnnotation',
|
27
26
|
'Style/FrozenStringLiteralComment',
|
28
27
|
'Style/MethodDefParentheses',
|
29
28
|
'Style/RedundantSelf',
|
30
29
|
'Style/RedundantReturn',
|
31
30
|
'Style/StringLiterals',
|
32
|
-
'Style/StringLiteralsInInterpolation'
|
31
|
+
'Style/StringLiteralsInInterpolation',
|
32
|
+
'Style/StabbyLambdaParentheses',
|
33
|
+
]
|
33
34
|
t.options = ['--only', autofix.join(','), '--auto-correct', 'lib', 'test', 'Rakefile', 'lmc.gemspec']
|
34
35
|
end
|
35
36
|
task :default => :test
|
data/coverage/.last_run.json
CHANGED
data/lib/lmc.rb
CHANGED
@@ -23,7 +23,7 @@ Dir.glob(File.expand_path('../lmc/*.rb', __FILE__)).each do |file|
|
|
23
23
|
require file
|
24
24
|
end
|
25
25
|
|
26
|
-
['exceptions', 'auth', 'config', 'monitoring'].each do |folder|
|
26
|
+
['exceptions', 'auth', 'config', 'monitoring', 'preferences'].each do |folder|
|
27
27
|
Dir.glob(File.expand_path("../lmc/#{folder}/*.rb", __FILE__)).each do |file|
|
28
28
|
require file
|
29
29
|
end
|
data/lib/lmc/Account.rb
CHANGED
@@ -25,7 +25,7 @@ module LMC
|
|
25
25
|
(name.nil? || a.name == name) && (type.nil? || a.type == type)
|
26
26
|
end
|
27
27
|
if accounts.length == 1
|
28
|
-
|
28
|
+
accounts[0]
|
29
29
|
elsif accounts.length == 0
|
30
30
|
raise 'Did not find account'
|
31
31
|
else
|
@@ -56,8 +56,8 @@ module LMC
|
|
56
56
|
delete_action = AuthAction.new @cloud
|
57
57
|
delete_action.type = AuthAction::ACCOUNT_DELETE
|
58
58
|
delete_action.name = Cloud.user
|
59
|
-
delete_action.data = {'password' => Cloud.password,
|
60
|
-
'accountId' => @id}
|
59
|
+
delete_action.data = { 'password' => Cloud.password,
|
60
|
+
'accountId' => @id }
|
61
61
|
delete_action.post
|
62
62
|
@id = nil
|
63
63
|
true
|
@@ -86,7 +86,7 @@ module LMC
|
|
86
86
|
if name.nil?
|
87
87
|
raise 'No member name given'
|
88
88
|
end
|
89
|
-
member = members.find {|m| m.name == name}
|
89
|
+
member = members.find { |m| m.name == name }
|
90
90
|
unless member
|
91
91
|
raise "Member named #{name} not found in account #{self}"
|
92
92
|
end
|
@@ -125,7 +125,7 @@ module LMC
|
|
125
125
|
def children
|
126
126
|
@cloud.auth_for_accounts([id, ROOT_ACCOUNT_UUID])
|
127
127
|
response = @cloud.get ['cloud-service-auth', 'accounts', id, 'children']
|
128
|
-
response.map {|child| Account.new @cloud, child}
|
128
|
+
response.map { |child| Account.new @cloud, child }
|
129
129
|
end
|
130
130
|
|
131
131
|
def logs
|
@@ -140,7 +140,7 @@ module LMC
|
|
140
140
|
return [] if @type == 'PRIVATE_CLOUD'
|
141
141
|
@cloud.auth_for_accounts([id])
|
142
142
|
response = @cloud.get ['cloud-service-devices', 'accounts', id, 'sites'], :select => :id
|
143
|
-
response.body.map {|data|
|
143
|
+
response.body.map { |data|
|
144
144
|
Site.new(UUID.new(data), self)
|
145
145
|
}
|
146
146
|
end
|
@@ -168,6 +168,10 @@ module LMC
|
|
168
168
|
"#{name}"
|
169
169
|
end
|
170
170
|
|
171
|
+
def summary
|
172
|
+
"\"#{@name}\" (#{@type}) ID: #{@id}"
|
173
|
+
end
|
174
|
+
|
171
175
|
private
|
172
176
|
|
173
177
|
## should be put into entity or such
|
data/lib/lmc/Cloud.rb
CHANGED
@@ -63,6 +63,11 @@ module LMC
|
|
63
63
|
post ['cloud-service-auth', 'accounts', account_id, 'members'], body
|
64
64
|
end
|
65
65
|
|
66
|
+
# @param section Array of String to indicate section to access. Example: ['principal', 'self', 'ui']
|
67
|
+
def preferences(section)
|
68
|
+
LMC::Preferences.new cloud: self, section: section
|
69
|
+
end
|
70
|
+
|
66
71
|
def get(path, params = nil)
|
67
72
|
prepared_headers = headers
|
68
73
|
prepared_headers[:params] = params
|
@@ -74,21 +79,26 @@ module LMC
|
|
74
79
|
execute_request args
|
75
80
|
end
|
76
81
|
|
77
|
-
def put(path, body_object)
|
82
|
+
def put(path, body_object, params = nil)
|
83
|
+
prepared_headers = headers
|
84
|
+
prepared_headers[:params] = params
|
78
85
|
args = {
|
79
86
|
:method => :put,
|
80
87
|
:url => build_url(path),
|
81
|
-
:payload => body_object.to_json
|
82
|
-
|
88
|
+
:payload => body_object.to_json,
|
89
|
+
:headers => prepared_headers
|
83
90
|
}
|
84
91
|
execute_request args
|
85
92
|
end
|
86
93
|
|
87
|
-
def post(path, body_object)
|
94
|
+
def post(path, body_object, params=nil )
|
95
|
+
prepared_headers = headers
|
96
|
+
prepared_headers[:params] = params
|
88
97
|
args = {
|
89
98
|
:method => :post,
|
90
99
|
:url => build_url(path),
|
91
|
-
:payload => body_object.to_json
|
100
|
+
:payload => body_object.to_json,
|
101
|
+
:headers => prepared_headers
|
92
102
|
}
|
93
103
|
execute_request args
|
94
104
|
end
|
@@ -181,7 +191,7 @@ module LMC
|
|
181
191
|
internal_args.merge! args
|
182
192
|
begin
|
183
193
|
resp = RestClient::Request.execute internal_args
|
184
|
-
|
194
|
+
LMCResponse.new(resp)
|
185
195
|
rescue RestClient::ExceptionWithResponse => e
|
186
196
|
if Cloud.debug
|
187
197
|
puts 'EXCEPTION: ' + e.to_s
|
data/lib/lmc/entity.rb
CHANGED
@@ -9,9 +9,6 @@ module LMC
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
klass.class_exec do
|
12
|
-
def methodtest
|
13
|
-
puts("cloud-service-#{service_name}")
|
14
|
-
end
|
15
12
|
|
16
13
|
# method that wraps attr_accessor to keep the defined attrs in a class instance var for serializing
|
17
14
|
def self.resource_attrs(*attrs)
|
@@ -26,10 +23,6 @@ module LMC
|
|
26
23
|
end
|
27
24
|
end
|
28
25
|
|
29
|
-
def method_on_instance_of_class
|
30
|
-
puts("cloud-service-#{service_name} #{inspect}, #{@cloud}")
|
31
|
-
end
|
32
|
-
|
33
26
|
def collection_path
|
34
27
|
["cloud-service-#{service_name}", collection_name]
|
35
28
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module LMC
|
3
|
+
class Preferences
|
4
|
+
def initialize(cloud:, section:)
|
5
|
+
@cloud = cloud
|
6
|
+
@section = section
|
7
|
+
end
|
8
|
+
|
9
|
+
def get(path)
|
10
|
+
response = @cloud.get build_url, { path: path }
|
11
|
+
response.body
|
12
|
+
end
|
13
|
+
|
14
|
+
def put(path, payload)
|
15
|
+
@cloud.put build_url, payload, { path: path }
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def build_url
|
20
|
+
['cloud-service-preferences'] + @section
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
data/lib/lmc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lmc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- erpel
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -195,6 +195,7 @@ files:
|
|
195
195
|
- lib/lmc/mixins/json_able.rb
|
196
196
|
- lib/lmc/mixins/service_resource.rb
|
197
197
|
- lib/lmc/monitoring/monitoring_record.rb
|
198
|
+
- lib/lmc/preferences/preferences.rb
|
198
199
|
- lib/lmc/principal.rb
|
199
200
|
- lib/lmc/uuid.rb
|
200
201
|
- lib/lmc/version.rb
|