lmcadm 0.12.1 → 0.13.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
  SHA256:
3
- metadata.gz: 4f055f406fb215892883880ea00a3cc41facb3a166e64ffba07fc91b73999780
4
- data.tar.gz: 944777b89bab8c1315d06704b83e74201738f2ddeef44f8033e4fa801e797db3
3
+ metadata.gz: e4ec85a8b1a7d9fe63c2f27ec1016310c0e029f878ab430063cdf8305d84b56e
4
+ data.tar.gz: 4538b2bb9b9c212e3e58cf13badc5720b7480622eb3b02006c60e8c5a61d5f65
5
5
  SHA512:
6
- metadata.gz: 8b557768748a73c485983f0458c40f09d52cc32c9dfee053cd1652945971331f64f2a3299939f3b847558e02d6b48e71da890045c15aaa58ed43a94ee3613227
7
- data.tar.gz: 7ce7cbe01436e2e521dbd91b4247b97232e4b884e228c93c59f42b5e417ac8d1a35355665ac0755b4a173b032ac9ba6aa16af589c8cee8f1546df7a726ef7185
6
+ metadata.gz: 81cf76346a7cb4e017f0db92ba785a3805b348bfb9d041d28361a63ba7dffd87a8363c9cc4c937b9e1f62b514780b81227c4e5b2a61f99ed8c2658f66013b77e
7
+ data.tar.gz: b361f098338b6827a2ef76ba3d3680afade12ea06c8dcb00d3f04f5b86dff10110a59288517b0a829f3859fb4bd8a8b8654ab6bcc316af566e1d67b92e96514f
data/Rakefile CHANGED
@@ -1,10 +1,15 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
+ require 'rdoc/task'
3
4
 
4
5
  Rake::TestTask.new(:test) do |t|
5
6
  t.libs << "test"
6
7
  t.libs << "lib"
7
8
  t.test_files = FileList["test/**/*_test.rb"]
8
9
  end
9
-
10
+ RDoc::Task.new do |rdoc|
11
+ rdoc.rdoc_dir = 'doc'
12
+ #rdoc.main = "README.rdoc"
13
+ #rdoc.rdoc_files.include("lib/lmcadm/helpers/args_helpers.rb")
14
+ end
10
15
  task :default => :test
@@ -1,7 +1,3 @@
1
- #require "lmcadm/version"
2
- #require 'lmcadm/account_commands'
3
- #require 'lmcadm/test_command_container'
4
-
5
1
  Dir.glob(File.expand_path("../lmcadm/*.rb", __FILE__)).each do |file|
6
2
  require file
7
3
  end
@@ -7,7 +7,7 @@ module LMCAdm
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
 
@@ -33,10 +33,11 @@ module LMCAdm
33
33
  end
34
34
  end
35
35
 
36
- maintenance.arg_name 'UUID', required: true
36
+ maintenance.arg_name 'UUID'
37
37
  maintenance.desc 'Exempt user from brute force blocking'
38
38
  maintenance.command :whitelist do |wl|
39
39
  wl.action do |_g, _o, args|
40
+ Helpers.ensure_arg args, kind: 'user uuid'
40
41
  cloud = LMC::Cloud.instance
41
42
  root_account = LMC::Account.get LMC::Account::ROOT_ACCOUNT_UUID
42
43
  cloud.auth_for_account root_account
@@ -45,5 +46,20 @@ module LMCAdm
45
46
  cloud.post url_components, {}
46
47
  end
47
48
  end
49
+
50
+ maintenance.arg_name 'UUID', required: true
51
+ maintenance.desc 'Remove entity from blacklist'
52
+ maintenance.command :unblacklist do |unbl|
53
+ unbl.flag 'entity-type', :t, desc: 'Entity type. Choose "principals" or "accounts".', required: true
54
+ unbl.flag 'process-type', :p, desc: 'Process type', default_value: 'CLAIMING'
55
+ unbl.action do |_g, o, args|
56
+ Helpers.ensure_arg args, kind: 'entity uuid'
57
+ cloud = LMC::Cloud.instance
58
+ root_account = LMC::Account.get LMC::Account::ROOT_ACCOUNT_UUID
59
+ cloud.auth_for_account root_account
60
+ url_components = ['cloud-service-devices', 'accesscontrol', o['process-type'], o['entity-type'], args.first]
61
+ cloud.delete url_components
62
+ end
63
+ end
48
64
  end
49
65
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ module LMCAdm
3
+ module Helpers
4
+ # Verifies that args contains at least one object.
5
+ # Raises RuntimeError with either the given message or an error explaining that kind is expected.
6
+ #
7
+ # @param [Object] args
8
+ # @param [String (frozen)] kind optional
9
+ # @param [Object] message optional
10
+ def self.ensure_arg(args, kind: 'argument', message: nil)
11
+ error = ""
12
+ if args.length < 1
13
+ error = "Argument missing: No #{kind} specified."
14
+ error = message if message
15
+ end
16
+ raise error unless error.empty?
17
+ return args
18
+ end
19
+ end
20
+ end
21
+
@@ -1,5 +1,5 @@
1
- require 'io/console'
2
1
  # frozen_string_literal: true
2
+ require 'io/console'
3
3
 
4
4
  module LMCAdm
5
5
  # This module includes helpers for shared functionality across the
@@ -1,3 +1,3 @@
1
1
  module LMCAdm
2
- VERSION = '0.12.1'
2
+ VERSION = '0.13.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.12.1
4
+ version: 0.13.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-05-29 00:00:00.000000000 Z
11
+ date: 2020-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -173,6 +173,7 @@ files:
173
173
  - lib/lmcadm/commands/terminal.rb
174
174
  - lib/lmcadm/config_commands.rb
175
175
  - lib/lmcadm/device_commands.rb
176
+ - lib/lmcadm/helpers/args_helpers.rb
176
177
  - lib/lmcadm/helpers/device_helpers.rb
177
178
  - lib/lmcadm/helpers/password_helper.rb
178
179
  - lib/lmcadm/helpers/string_helpers.rb