lmcadm 0.8.0 → 0.9.0

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: 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