Class: ZAWS::Sumoapi

Inherits:
Object
  • Object
show all
Defined in:
lib/zaws/external/sumoapi/sumoapi.rb,
lib/zaws/external/sumoapi/sumo_creds.rb,
lib/zaws/external/sumoapi/sumo_client.rb,
lib/zaws/external/sumoapi/data/sources.rb,
lib/zaws/external/sumoapi/data/collectors.rb,
lib/zaws/external/sumoapi/resources/sources.rb,
lib/zaws/external/sumoapi/resources/collectors.rb,
lib/zaws/external/sumoapi/resources/sources/list.rb,
lib/zaws/external/sumoapi/resources/collectors/list.rb

Defined Under Namespace

Classes: Data, Resources, SumoClient, SumoCreds

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(shellout) ⇒ Sumoapi

Returns a new instance of Sumoapi.



6
7
8
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 6

def initialize(shellout)
  @shellout=shellout
end

Instance Attribute Details

#homeObject

Returns the value of attribute home.



4
5
6
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 4

def home
  @home
end

Instance Method Details

#clientObject



39
40
41
42
43
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 39

def client
  fail("Home is null! Make sure its set before getting the client.") if @home== nil
  creds = ZAWS::Sumoapi::SumoCreds::Creds::YamlFile.new(@home)
  @_client ||=  (ZAWS::Sumoapi::SumoClient.new(creds))
end

#data_collectorsObject



45
46
47
48
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 45

def data_collectors
  @_data_collectors ||= (ZAWS::Sumoapi::Data::Collectors.new(@shellout, self))
  return @_data_collectors
end

#data_sourcesObject



50
51
52
53
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 50

def data_sources
  @_data_sources ||= (ZAWS::Sumoapi::Data::Sources.new(@shellout, self))
  return @_data_sources
end

#filestoreObject



10
11
12
13
14
15
16
17
18
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 10

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

#remove_credsObject



20
21
22
23
24
25
26
27
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 20

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

#resource_collectorsObject



29
30
31
32
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 29

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

#resource_sourcesObject



34
35
36
37
# File 'lib/zaws/external/sumoapi/sumoapi.rb', line 34

def resource_sources
  @_resource_sources ||= (ZAWS::Sumoapi::Resources::Sources.new(@shellout, self))
  return @_resource_sources
end