lmcadm 0.6.2 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37fb97ffb3e950f8c16de2b88d918b75647fa61b
4
- data.tar.gz: 3fa5a3b1f73f42772df2df1a81ede6f6c326868d
3
+ metadata.gz: cf0e5d4106b7ecc7b9628804ecc09eb9be0bf435
4
+ data.tar.gz: eab602890adc55b823c4880a3f01ee7b48b57ec8
5
5
  SHA512:
6
- metadata.gz: de9c4e332e7e3067f85317e2ce4f331091c202270e5af84ddcef4764305d782e7c4276508e46b2b7308e44329f45060237909ed7c53d1f95d437daf8a056f934
7
- data.tar.gz: e825d36e1b233dfb6e3d8cd993028e122df8a5ce1a375294ee7418950e30f10b39669c569c2518588c9b7833a025ba8eafd4beeab9c07cab42c25ec3be2e35c4
6
+ metadata.gz: ec4dd8ef6a3357a3650362e971dd2f5f6988ddefd86cc184357c71fcf6a3d5f766cca882a1d0860b67c4e47a9ec506417e33e5d455473ec5716e21d93fa36b20
7
+ data.tar.gz: aa0c85d4ebe7ddd33859cac5950e265e3779816ea3d5c745b6de6265ab1435c5b690c00eaf25d5a6abe7393f6e5db62b270efb77549b4e11e3b4dfce930ee6d5
data/LICENSE.txt CHANGED
@@ -1 +1,29 @@
1
+ BSD 3-Clause License
1
2
 
3
+ Copyright (c) 2018, Philipp Erbelding
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -45,15 +45,15 @@ module LMCAdm
45
45
  tos.desc 'Accept terms of use by name'
46
46
  tos.command :accept do |accept|
47
47
  accept.action do |global_options, options, args|
48
- begin
49
- cloud = LMC::Cloud.instance
50
- rescue LMC::OutdatedTermsOfUseException => e
51
- matched_tos = e.missing.select do |missingtos|
52
- args.include? missingtos['name']
53
- end
54
- cloud = LMC::Cloud.instance authorize: false
55
- puts "Accepting TOS #{matched_tos.to_s}"
56
- cloud.accept_tos matched_tos
48
+ begin
49
+ cloud = LMC::Cloud.instance
50
+ rescue LMC::OutdatedTermsOfUseException => e
51
+ matched_tos = e.missing.select do |missingtos|
52
+ args.include? missingtos['name']
53
+ end
54
+ cloud = LMC::Cloud.instance authorize: false
55
+ puts "Accepting TOS #{matched_tos.to_s}"
56
+ cloud.accept_tos matched_tos
57
57
  end
58
58
  end
59
59
  end
@@ -16,7 +16,7 @@ module LMCAdm
16
16
 
17
17
  device_list.action do |global_options, options|
18
18
  account = LMC::Account.get_by_uuid_or_name options[:account]
19
- t=ProgressVisualizer.new "Getting devices"
19
+ t = ProgressVisualizer.new "Getting devices"
20
20
  devices = LMC::Device.get_for_account(account)
21
21
  t.done
22
22
  cols = [{:id => {width: 36}}, :name, :model, :serial, :heartbeatstate]
@@ -66,7 +66,7 @@ module LMCAdm
66
66
  puts "result_config class: " + result_config.body_object.class.to_s if global_options[:debug]
67
67
  pretty = JSON.pretty_generate(result_config)
68
68
  if options[:w]
69
- IO.write(options[:prefix] + "-" + device.name + '-' + device.id + ".json",pretty)
69
+ IO.write(options[:prefix] + "-" + device.name + '-' + device.id + ".json", pretty)
70
70
  else
71
71
  puts pretty
72
72
  end
@@ -106,11 +106,11 @@ module LMCAdm
106
106
  raise "Device not found"
107
107
  end
108
108
 
109
- t=ProgressVisualizer.new "Getting current config..."
109
+ t = ProgressVisualizer.new "Getting current config..."
110
110
  config = device.get_config_for_account(account)
111
111
  t.finished " Done".green
112
112
 
113
- t=ProgressVisualizer.new "Applying changes..."
113
+ t = ProgressVisualizer.new "Applying changes..."
114
114
  if options[:jsonfile]
115
115
  jsoncontent = IO.read(options[:jsonfile])
116
116
  configchange = JSON.parse jsoncontent
@@ -123,13 +123,38 @@ module LMCAdm
123
123
  t.finished " Done".green
124
124
 
125
125
  puts JSON.pretty_generate(config) if global_options[:debug]
126
- t=ProgressVisualizer.new "Submitting new config..."
126
+ t = ProgressVisualizer.new "Submitting new config..."
127
127
  result = device.set_config_for_account(config, account)
128
128
  if result.code == 200
129
- print " " + result["id"].to_s + "..."
129
+ print " " + result["id"].to_s + "..."
130
130
  end
131
131
  t.finished " " + LMCADMResultInterpreter.interpret_with_color(result)
132
132
  end
133
133
  end
134
+
135
+ c.arg_name '"search string"'
136
+ c.desc 'Display device registration data'
137
+ c.long_desc 'Search for device registration data. Currently supports serial numbers as search strings.'
138
+ c.command :registration do |cmd|
139
+ cmd.action do |_global_options, _options, args|
140
+ root_account = LMC::Account.get LMC::Account::ROOT_ACCOUNT_UUID
141
+ cloud = LMC::Cloud.instance
142
+ cloud.auth_for_account root_account
143
+ result = cloud.get ['cloud-service-devices', 'registrations'], {'updatePairing' => false, "status.serial" => args.first}
144
+ result.body.each do |registration|
145
+
146
+ registration.status.keys.each {|key|
147
+ puts "#{key}: #{registration.status[key]}"
148
+ }
149
+ if registration.accountId
150
+ #TODO Check if account info can be displayed via another endpoint
151
+ #account = LMC::Account.get registration.accountId
152
+ #puts account
153
+ puts "accountID: #{registration.accountId}"
154
+ end
155
+
156
+ end
157
+ end
158
+ end
134
159
  end
135
- end
160
+ end
@@ -1,3 +1,3 @@
1
1
  module LMCAdm
2
- VERSION = "0.6.2"
2
+ VERSION = "0.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lmcadm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - erpel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-18 00:00:00.000000000 Z
11
+ date: 2018-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler