Sha256: 59e63b3c6349baf7aed9e04c93b20023fff82838285a473a1ad95add82e2648e

Contents?: true

Size: 1.54 KB

Versions: 3

Compression:

Stored size: 1.54 KB

Contents

require 'rest_client'

module ARII
  class Client

    ##
    # => Load configuration properties from client/script code
    #
    def initialize config, log
      begin
        @config = config
        ARII::Config.set_access_token config[:server][:access_token]
        ARII::Config.set_host config[:server][:host]
        ARII::Config.set_log log

        ARII::Config.log.info(self.class.name) { 'Configuration loaded successfully.' }
      rescue Exception => e
        ARII::Config.log.error(self.class.name) { "Failed to load configuration: #{e}" }
      end

    end

    ##
    # => Validate API key.
    #
    def validate
      begin
        ARII::Config.log.info(self.class.name) { 'Launching validation.' }

        out = RestClient::Request.execute(:method => 'post', :url => "#{ARII::Config.host}fluxcapacitor/validate_key.json", :payload => {:access_token => ARII::Config.access_token} ,:verify_ssl => OpenSSL::SSL::VERIFY_NONE )

        response = {:status => 100, :response => out.to_str}
      rescue Exception => e
        ARII::Config.log.error(self.class.name) { "Failed validation: #{e}" }
      end
      response
    end

    ##
    # => Start processing agents from configuration properties.
    #
    def process
      ARII::Config.log.info(self.class.name) { 'Starting agent processing.' }
      begin
        @config[:agents].each do |agent|
          a = ARII::Agent.new agent
          a.execute
        end
      rescue Exception => e
        ARII::Config.log.error(self.class.name) { "Failed agent processing: #{e}" }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
arii-1.8 lib/arii/client.rb
arii-1.7 lib/arii/client.rb
arii-1.6 lib/arii/client.rb