summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2018-03-18 17:42:26 -0600
committermo <mo.khan@gmail.com>2018-03-18 17:42:26 -0600
commitc56f3dbe74f56417241fe1437600844656f360bd (patch)
tree43e6fc10c5e31658deb328c59973f6a27ca462e4 /lib
parent8461526558c70eb0e8134432876655883a1f446b (diff)
add groups command.
Diffstat (limited to 'lib')
-rw-r--r--lib/ats.rb1
-rw-r--r--lib/ats/amp4e/api.rb4
-rw-r--r--lib/ats/amp4e/groups.rb15
-rw-r--r--lib/ats/cli.rb1
-rw-r--r--lib/ats/cli/amp4e/application.rb3
-rw-r--r--lib/ats/cli/amp4e/groups.rb14
6 files changed, 38 insertions, 0 deletions
diff --git a/lib/ats.rb b/lib/ats.rb
index d0257a5..4e81202 100644
--- a/lib/ats.rb
+++ b/lib/ats.rb
@@ -11,6 +11,7 @@ require 'ats/version'
require 'ats/amp4e/api'
require 'ats/amp4e/computers'
require 'ats/amp4e/events'
+require 'ats/amp4e/groups'
require 'ats/threat_grid/api'
require 'ats/threat_grid/organizations'
require 'ats/threat_grid/samples'
diff --git a/lib/ats/amp4e/api.rb b/lib/ats/amp4e/api.rb
index f1ad63e..ab53f24 100644
--- a/lib/ats/amp4e/api.rb
+++ b/lib/ats/amp4e/api.rb
@@ -27,6 +27,10 @@ module ATS
ATS::AMP4E::Events.new(self)
end
+ def groups
+ ATS::AMP4E::Groups.new(self)
+ end
+
def get(url, params: {}, version: 1)
http.get(build_uri(url, version: version), headers: headers, body: params) do |request, response|
JSON.parse(response.body, symbolize_names: true)
diff --git a/lib/ats/amp4e/groups.rb b/lib/ats/amp4e/groups.rb
new file mode 100644
index 0000000..4e766bf
--- /dev/null
+++ b/lib/ats/amp4e/groups.rb
@@ -0,0 +1,15 @@
+module ATS
+ module AMP4E
+ class Groups
+ attr_reader :api
+
+ def initialize(api)
+ @api = api
+ end
+
+ def list
+ api.get("groups")
+ end
+ end
+ end
+end
diff --git a/lib/ats/cli.rb b/lib/ats/cli.rb
index 3abf11c..5f968d1 100644
--- a/lib/ats/cli.rb
+++ b/lib/ats/cli.rb
@@ -5,6 +5,7 @@ require 'ats/cli/threat_grid'
require 'ats/cli/amp4e/command'
require 'ats/cli/amp4e/computers'
require 'ats/cli/amp4e/events'
+require 'ats/cli/amp4e/groups'
require 'ats/cli/amp4e/application'
module ATS
diff --git a/lib/ats/cli/amp4e/application.rb b/lib/ats/cli/amp4e/application.rb
index 327f13e..6e83fb3 100644
--- a/lib/ats/cli/amp4e/application.rb
+++ b/lib/ats/cli/amp4e/application.rb
@@ -9,6 +9,9 @@ module ATS
desc 'events SUBCOMMAND ...ARGS', 'interact with the AMP4E API'
subcommand :events, ATS::CLI::AMP4E::Events
+
+ desc 'groups SUBCOMMAND ...ARGS', 'interact with the AMP4E API'
+ subcommand :groups, ATS::CLI::AMP4E::Groups
end
end
end
diff --git a/lib/ats/cli/amp4e/groups.rb b/lib/ats/cli/amp4e/groups.rb
new file mode 100644
index 0000000..add7f30
--- /dev/null
+++ b/lib/ats/cli/amp4e/groups.rb
@@ -0,0 +1,14 @@
+module ATS
+ module CLI
+ module AMP4E
+ class Groups < Command
+ class_option :profile, default: :default, required: false
+
+ desc 'list', 'list'
+ def list
+ print_json api.groups.list
+ end
+ end
+ end
+ end
+end