summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2018-03-18 17:45:56 -0600
committermo <mo.khan@gmail.com>2018-03-18 17:45:56 -0600
commit30d2534708ec6fe699ca0e07d69f2a94f08d6c98 (patch)
tree260093222fd8f02fa93a49d412b3dbd7150290bd /lib
parent85b5c5c9ac5b7e111a430ce82f1d7ae60ff728b6 (diff)
add policies subcommand.
Diffstat (limited to 'lib')
-rw-r--r--lib/ats.rb1
-rw-r--r--lib/ats/amp4e/api.rb4
-rw-r--r--lib/ats/amp4e/policies.rb19
-rw-r--r--lib/ats/cli.rb1
-rw-r--r--lib/ats/cli/amp4e/application.rb3
-rw-r--r--lib/ats/cli/amp4e/policies.rb19
6 files changed, 47 insertions, 0 deletions
diff --git a/lib/ats.rb b/lib/ats.rb
index 4e81202..9198c35 100644
--- a/lib/ats.rb
+++ b/lib/ats.rb
@@ -12,6 +12,7 @@ require 'ats/amp4e/api'
require 'ats/amp4e/computers'
require 'ats/amp4e/events'
require 'ats/amp4e/groups'
+require 'ats/amp4e/policies'
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 ab53f24..4bdaefb 100644
--- a/lib/ats/amp4e/api.rb
+++ b/lib/ats/amp4e/api.rb
@@ -31,6 +31,10 @@ module ATS
ATS::AMP4E::Groups.new(self)
end
+ def policies
+ ATS::AMP4E::Policies.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/policies.rb b/lib/ats/amp4e/policies.rb
new file mode 100644
index 0000000..7fb3912
--- /dev/null
+++ b/lib/ats/amp4e/policies.rb
@@ -0,0 +1,19 @@
+module ATS
+ module AMP4E
+ class Policies
+ attr_reader :api
+
+ def initialize(api)
+ @api = api
+ end
+
+ def list
+ api.get("policies")
+ end
+
+ def show(id)
+ api.get("policies/#{id}")
+ end
+ end
+ end
+end
diff --git a/lib/ats/cli.rb b/lib/ats/cli.rb
index 5f968d1..b5244a0 100644
--- a/lib/ats/cli.rb
+++ b/lib/ats/cli.rb
@@ -6,6 +6,7 @@ require 'ats/cli/amp4e/command'
require 'ats/cli/amp4e/computers'
require 'ats/cli/amp4e/events'
require 'ats/cli/amp4e/groups'
+require 'ats/cli/amp4e/policies'
require 'ats/cli/amp4e/application'
module ATS
diff --git a/lib/ats/cli/amp4e/application.rb b/lib/ats/cli/amp4e/application.rb
index 6e83fb3..40529ea 100644
--- a/lib/ats/cli/amp4e/application.rb
+++ b/lib/ats/cli/amp4e/application.rb
@@ -12,6 +12,9 @@ module ATS
desc 'groups SUBCOMMAND ...ARGS', 'interact with the AMP4E API'
subcommand :groups, ATS::CLI::AMP4E::Groups
+
+ desc 'policies SUBCOMMAND ...ARGS', 'interact with the AMP4E API'
+ subcommand :policies, ATS::CLI::AMP4E::Policies
end
end
end
diff --git a/lib/ats/cli/amp4e/policies.rb b/lib/ats/cli/amp4e/policies.rb
new file mode 100644
index 0000000..8961f75
--- /dev/null
+++ b/lib/ats/cli/amp4e/policies.rb
@@ -0,0 +1,19 @@
+module ATS
+ module CLI
+ module AMP4E
+ class Policies < Command
+ class_option :profile, default: :default, required: false
+
+ desc 'list', 'list'
+ def list
+ print_json api.policies.list
+ end
+
+ desc 'show <UUID>', 'list'
+ def show(id)
+ print_json api.policies.show(id)
+ end
+ end
+ end
+ end
+end