lmcadm 0.8.0 → 0.9.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: 8a7485cdbf69d7fc0dea05836d5b067b4990ecfe
4
- data.tar.gz: c5a665e0da9ccd87579c3fb8e52a3bc5c50197a9
3
+ metadata.gz: 18590352df31927fd82fc499b0feef27bf14265d
4
+ data.tar.gz: 2809f28be5376f51d48f0ece3a221457818db60e
5
5
  SHA512:
6
- metadata.gz: 6c92ef18de16e5827614326733c1b74d872e5ab248b214102f30214af06bd4d7678bd58e3633533f1d755a9fca96564944f861417bfb74a8210c825e0870305a
7
- data.tar.gz: d33ac564bbd30956bcbd7f8b8373c0970a764a1b745347ef32fd18bcb1c85c6e6f90f4c454af9cbcbb586d452d0cd6cca917456e39dbd90a4efd6354126ecaca
6
+ metadata.gz: 53841c1bd2e47b403f179586bbe0167d27b4299ef98175ecf8f8e17711af97afac6cfeefb5504f0df26a71b1aa3904dcd39cf19d068f46f0510e960c8abf5581
7
+ data.tar.gz: 43213cbda76e6f81491c93eaf1ca914118e1b8d471bdccbf05760e009b00947d6b797e00956c3d775597080d70a6ae12983c88e65ab088759c1b4b6eed16cf5f
@@ -26,6 +26,8 @@ module LMCAdm
26
26
  'versions' => info.versionInfoList.map {|vil| vil['version']}.uniq.join(",")
27
27
  }}
28
28
  tp backstage_infos
29
+ puts '---'
30
+ puts "Principal: #{LMC::Principal.get_self(cloud)}"
29
31
 
30
32
  end
31
33
  end
@@ -1,17 +1,17 @@
1
1
  module LMCAdm
2
2
  command :maintenance do |maintenance|
3
- maintenance.arg_name 'Account UUID'
3
+ maintenance.arg_name 'UUID'
4
4
  maintenance.desc 'Resync license status in devices service for an account'
5
5
  maintenance.command :licenseresync do |resync|
6
6
  resync.action do |global_options, options, args|
7
7
  root_account = LMC::Account.get LMC::Account::ROOT_ACCOUNT_UUID
8
8
  cloud = LMC::Cloud.instance
9
9
  cloud.auth_for_account root_account
10
- result = cloud.post ['cloud-service-devices', 'maintenance', 'licenses', 'resync'], {'accountId' => args[0]}
10
+ result = cloud.post ['cloud-service-devices', 'maintenance', 'licenses', 'resync'], { 'accountId' => args[0] }
11
11
  end
12
12
  end
13
13
 
14
- maintenance.arg_name 'Account UUID'
14
+ maintenance.arg_name 'UUID'
15
15
  maintenance.desc 'Enable scripting for an account'
16
16
  maintenance.command :scripting do |scr|
17
17
  scr.switch :enable
@@ -23,5 +23,18 @@ module LMCAdm
23
23
  raise "error - unexpected result" unless result.body == options[:enable]
24
24
  end
25
25
  end
26
+
27
+ maintenance.arg_name 'UUID', required: true
28
+ maintenance.desc 'Exempt user from brute force blocking'
29
+ maintenance.command :whitelist do |wl|
30
+ wl.action do |_g, _o, args|
31
+ cloud = LMC::Cloud.instance
32
+ root_account = LMC::Account.get LMC::Account::ROOT_ACCOUNT_UUID
33
+ cloud.auth_for_account root_account
34
+ # POST /accesscontrol/CLAIMING/whitelist/principals/{principalId}
35
+ url_components = ['cloud-service-devices', 'accesscontrol', 'CLAIMING', 'whitelist', 'principals', args.first]
36
+ cloud.post url_components, {}
37
+ end
38
+ end
26
39
  end
27
40
  end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LMCAdm #:nodoc:
4
+ desc 'Retrieve montoring data'
5
+ command :monitor do |monitor|
6
+ monitor.flag :A, :account
7
+ monitor.desc 'Get data for device'
8
+ monitor.arg_name 'record datapoints', multiple: true
9
+ monitor.command :device do |monitor_device|
10
+ monitor_device.flag :D, :device
11
+ monitor_device.flag :p, :period
12
+ monitor_device.flag :s, :scalar, desc: 'scalar datapoint', multiple: true
13
+ monitor_device.flag :r, :row, desc: 'row datapoint', multiple: true
14
+ monitor_device.flag :c, :count, desc: 'fetch this many datapoints.', default_value: 10
15
+ monitor_device.action do |_g, options, args|
16
+ record_name = args.shift
17
+ account = LMC::Account.get_by_uuid_or_name options[GLI::Command::PARENT][:account]
18
+ device = account.devices.find {|d| d.name == options[:device]}
19
+ record = device.record record_name
20
+
21
+ options[:scalar].each do |datapoint|
22
+ record_data = record.scalar datapoint, options[:count], options[:period]
23
+ record_data.items[datapoint]['keys'].each do |key|
24
+ puts "#{datapoint}-#{key}: #{record_data.items[datapoint]['values'].reverse.inspect}"
25
+ end
26
+ end
27
+
28
+ options[:row].each do |datapoint|
29
+ record_data = record.row datapoint, options[:count], options[:period]
30
+ datapoint_items = record_data.items[datapoint]
31
+ raise "Nothing returned for #{datapoint}" if datapoint_items.nil?
32
+ table_cols = datapoint_items['keys']
33
+ tables = datapoint_items['values']
34
+ puts "Tables: #{tables.size}"
35
+ tables.each do |table|
36
+ puts "Table:"
37
+ next if table.nil?
38
+ rows = table.map do |row_source|
39
+ row = {}
40
+ table_cols.each_with_index do |name, index|
41
+ row[name] = row_source[index]
42
+ end
43
+ row
44
+ end
45
+ tp rows
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,3 +1,3 @@
1
1
  module LMCAdm
2
- VERSION = "0.8.0"
2
+ VERSION = '0.9.0'
3
3
  end
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "minitest", "~> 5.0"
33
33
  spec.add_development_dependency "pry-nav", "0.2.4"
34
34
 
35
- spec.add_runtime_dependency 'lmc', '~> 0.6.2'
35
+ spec.add_runtime_dependency 'lmc', '~> 0.8.0'
36
36
  spec.add_runtime_dependency 'gli', '~> 2.17'
37
37
  spec.add_runtime_dependency 'table_print', '~> 1.5'
38
38
  spec.add_runtime_dependency 'colorize'
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.8.0
4
+ version: 0.9.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-10-19 00:00:00.000000000 Z
11
+ date: 2018-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.6.2
75
+ version: 0.8.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.6.2
82
+ version: 0.8.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: gli
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -151,6 +151,7 @@ files:
151
151
  - lib/lmcadm/cloud_commands.rb
152
152
  - lib/lmcadm/commands/completion.rb
153
153
  - lib/lmcadm/commands/maintenance.rb
154
+ - lib/lmcadm/commands/monitor.rb
154
155
  - lib/lmcadm/commands/principal.rb
155
156
  - lib/lmcadm/commands/privatecloud.rb
156
157
  - lib/lmcadm/commands/rights.rb