Module: HammerCLICsv::Utils::Config

Included in:
BaseCommand, CsvCommand::ExportCommand, CsvCommand::ImportCommand
Defined in:
lib/hammer_cli_csv/utils/config.rb

Instance Method Summary collapse

Instance Method Details

#api_connectionObject



32
33
34
35
36
37
38
39
# File 'lib/hammer_cli_csv/utils/config.rb', line 32

def api_connection
  connection = HammerCLI::Connection.create(
    'csv',
    HammerCLI::Apipie::Command.resource_config.merge(resource_config),
    HammerCLI::Apipie::Command.connection_options
  )
  connection.api
end

#credentialsObject



4
5
6
7
8
9
10
# File 'lib/hammer_cli_csv/utils/config.rb', line 4

def credentials
  @credentials ||= HammerCLIForeman::BasicCredentials.new(
    :username => (HammerCLI::Settings.get(:_params, :username) || ENV['FOREMAN_USERNAME'] || HammerCLI::Settings.get(:foreman, :username)),
    :password => (HammerCLI::Settings.get(:_params, :password) || ENV['FOREMAN_PASSWORD'] || HammerCLI::Settings.get(:foreman, :password))
  )
  @credentials
end

#resource_configObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/hammer_cli_csv/utils/config.rb', line 12

def resource_config
  config = {}
  config[:uri] = HammerCLI::Settings.get(:_params, :host) || HammerCLI::Settings.get(:foreman, :host)
  config[:credentials] = credentials
  config[:logger] = Logging.logger['API']
  config[:api_version] = 2
  config[:follow_redirects] = HammerCLI::Settings.get(:foreman, :follow_redirects) || :never
  config[:aggressive_cache_checking] = HammerCLI::Settings.get(:foreman, :refresh_cache) || false
  config[:headers] = { "Accept-Language" => HammerCLI::I18n.locale }
  config[:language] = HammerCLI::I18n.locale
  config[:timeout] = HammerCLI::Settings.get(:foreman, :request_timeout)
  config[:timeout] = -1 if config[:timeout] && config[:timeout].to_i < 0
  config[:apidoc_authenticated] = false

  @username = config[:credentials].username
  @password = config[:credentials].password
  @server = config[:uri]
  config
end