Skip to content

Commit

Permalink
Reorganizing project files and adding ability to remove creds with a …
Browse files Browse the repository at this point in the history
…single command.
  • Loading branch information
Aslan Brooke committed May 15, 2016
1 parent f5c5840 commit cb43a85
Show file tree
Hide file tree
Showing 15 changed files with 127 additions and 31 deletions.
32 changes: 3 additions & 29 deletions lib/zaws.rb
Original file line number Diff line number Diff line change
@@ -1,33 +1,4 @@
# require "zaws/version"
# require "zaws/helper/option"
# require "zaws/helper/output"
# require "zaws/helper/shell"
# require "zaws/helper/zfile"
# require "zaws/command/subnet"
# require "zaws/command/security_group"
# require "zaws/command/route_table"
# require "zaws/command/compute"
# require "zaws/command/elasticip"
# require "zaws/command/load_balancer"
# require "zaws/command/hosted_zone"
# require "zaws/command/cloud_trail"
# require "zaws/command/bucket"
# require "zaws/aws"
# require "zaws/cloud_trail"
# require "zaws/ec2"
# require "zaws/elb"
# require "zaws/route53"
# require "zaws/s3"
# require "zaws/ec2/subnet"
# require "zaws/ec2/security_group"
# require "zaws/ec2/route_table"
# require "zaws/ec2/compute"
# require "zaws/ec2/elasticip"
# require "zaws/elb/load_balancer"
# require "zaws/route53/hosted_zone"
# require "zaws/s3/bucket"
require "thor"
#require "zaws/awscli"
Dir["#{File.dirname(__FILE__)}/zaws/**/*.rb"].each { |item| load(item) }

module ZAWS
Expand Down Expand Up @@ -78,6 +49,9 @@ class ZAWSCLI < Thor
desc "newrelic", "newrelic"
subcommand "newrelic", ZAWS::Command::Newrelic

desc "config", "config"
subcommand "config", ZAWS::Command::Config

desc "version", "Get the version of the Zynx AWS Automation Tool."

def version
Expand Down
13 changes: 13 additions & 0 deletions lib/zaws/awscli.rb → lib/zaws/awscli/awscli.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require 'fileutils'

module ZAWS
class AWSCLI
Expand All @@ -11,10 +12,22 @@ def filestore
@filestore ||= ZAWS::Repository::Filestore.new()
@home ||= ENV['HOME']
@filestore.location="#{@home}/.awsdata"
unless File.directory?(@filestore.location)
FileUtils.mkdir_p(@filestore.location)
end
@filestore.timeout = 600
return @filestore
end

def remove_creds
if File.directory?("#{@home}/.awsdata")
FileUtils.rmtree("#{@home}/.awsdata")
end
if File.exist?("#{@home}/.aws/credentials")
File.delete("#{@home}/.aws/credentials")
end
end

def version
if ! @version
info = @shellout.cli("aws --version",nil)
Expand Down
2 changes: 1 addition & 1 deletion lib/zaws/command/ai.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def initialize(*args)
option :home, :type => :string, :default => ENV['HOME'], :desc => 'Home directory location for credentials file'
def query(value)
@ai.awscli.home=options[:home]
@ai.query.all(@out, (options[:verbose] ? @out : nil),value)
@ai.query.all(options[:home],@out, (options[:verbose] ? @out : nil),value)
end

desc "query_aws", "query_aws"
Expand Down
42 changes: 42 additions & 0 deletions lib/zaws/command/config.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
require 'thor'

module ZAWS
module Command
class Config < Thor
class_option :verbose, :type => :boolean, :desc => "Verbose outout", :aliases => :d, :default => false

attr_accessor :config
attr_accessor :out
attr_accessor :print_exit_code

def initialize(*args)
super
shellout=ZAWS::Helper::Shell.new
nessusapi = ZAWS::Nessusapi.new(shellout)
sumoapi = ZAWS::Sumoapi.new(shellout)
newrelicapi = ZAWS::Newrelicapi.new(shellout)
awscli = ZAWS::AWSCLI.new(shellout)
@config = ZAWS::Controllers::Config.new(shellout, nessusapi,sumoapi,newrelicapi,awscli)
@out = $stdout
@print_exit_code = false
end

desc "remove_creds", "remove_creds"
option :home, :type => :string, :default => ENV['HOME'], :desc => 'Home directory location for credentials file'
def remove_creds
@config.awscli.home=options[:home]
@config.awscli.remove_creds()

@config.nessusapi.home=options[:home]
@config.nessusapi.remove_creds()

@config.sumoapi.home=options[:home]
@config.sumoapi.remove_creds()

@config.newrelicapi.home=options[:home]
@config.newrelicapi.remove_creds()
end

end
end
end
File renamed without changes.
31 changes: 31 additions & 0 deletions lib/zaws/controllers/config.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
module ZAWS
module Controllers
class Config

def initialize(shellout, nessusapi,sumoapi,newrelicapi,awscli)
@shellout=shellout
@_nessusapi= nessusapi ? nessusapi : ZAWS::Nessusapi.new(@shellout)
@_sumoapi= sumoapi ? sumoapi : ZAWS::Sumoapi.new(@shellout)
@_newrelicapi= newrelicapi ? newrelicapi : ZAWS::Newrelicapi.new(@shellout)
@_awscli= awscli ? awscli : ZAWS::AWSCLI.new(@shellout)
end

def nessusapi
return @_nessusapi
end

def sumoapi
return @_sumoapi
end

def newrelicapi
return @_newrelicapi
end

def awscli
return @_awscli
end

end
end
end
12 changes: 12 additions & 0 deletions lib/zaws/nessusapi/nessusapi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,22 @@ def initialize(shellout)
def filestore
@filestore ||= ZAWS::Repository::Filestore.new()
@filestore.location="#{@home}/.nessusapi"
unless File.directory?(@filestore.location)
FileUtils.mkdir_p(@filestore.location)
end
@filestore.timeout = 600
return @filestore
end

def remove_creds
if File.directory?("#{@home}/.nessusapi")
FileUtils.rmtree("#{@home}/.nessusapi")
end
if File.exist?("#{@home}/.nessus.yml")
File.delete("#{@home}/.nessus.yml")
end
end

def resource_scanners
@_resource_scanners ||= (ZAWS::Nessusapi::Resources::Scanners.new(@shellout, self))
return @_resource_scanners
Expand Down
14 changes: 13 additions & 1 deletion lib/zaws/newrelicapi/newrelicapi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,22 @@ def initialize(shellout)
def filestore
@filestore ||= ZAWS::Repository::Filestore.new()
@filestore.location="#{@home}/.newrelicapi"
unless File.directory?(@filestore.location)
FileUtils.mkdir_p(@filestore.location)
end
@filestore.timeout = 600
return @filestore
end

def remove_creds
if File.directory?("#{@home}/.newrelicapi")
FileUtils.rmtree("#{@home}/.newrelicapi")
end
if File.exist?("#{@home}/.newrelic.yml")
File.delete("#{@home}/.newrelic.yml")
end
end

def resource_servers
@_resource_servers ||= (ZAWS::Newrelicapi::Resources::Servers.new(@shellout, self))
return @_resource_servers
Expand All @@ -22,7 +34,7 @@ def resource_servers
def client
fail("Home is null! Make sure its set before getting the client.") if @home== nil
creds = ZAWS::Newrelicapi::NewrelicCreds::Creds::YamlFile.new(@home)
@_client ||= (ZAWS::Newrelicapi::NewrelicClient.new(creds))
@_client ||= (ZAWS::Newrelicapi::NewrelicClient.new(creds))
end

def data_servers
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
12 changes: 12 additions & 0 deletions lib/zaws/sumoapi/sumoapi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,22 @@ def initialize(shellout)
def filestore
@filestore ||= ZAWS::Repository::Filestore.new()
@filestore.location="#{@home}/.sumoapi"
unless File.directory?(@filestore.location)
FileUtils.mkdir_p(@filestore.location)
end
@filestore.timeout = 600
return @filestore
end

def remove_creds
if File.directory?("#{@home}/.sumoapi")
FileUtils.rmtree("#{@home}/.sumoapi")
end
if File.exist?("#{@home}/.sumo.yml")
File.delete("#{@home}/.sumo.yml")
end
end

def resource_collectors
@_resource_collectors ||= (ZAWS::Sumoapi::Resources::Collectors.new(@shellout, self))
return @_resource_collectors
Expand Down

0 comments on commit cb43a85

Please sign in to comment.