Sha256: df9470437e9be10e8e4687824776fd4fd18a97e6f43dd9b8ee48510f082c6d54

Contents?: true

Size: 1 KB

Versions: 58

Compression:

Stored size: 1 KB

Contents

require 'hammer_cli'
module HammerCLIForeman
  class Defaults < HammerCLI::BaseDefaultsProvider
    def initialize(api_connection = HammerCLIForeman.foreman_api_connection)
      @api_connection = api_connection
      @provider_name = 'foreman'
      @supported_defaults = [:organization_id, :location_id]
      @description = _('Use the default organization and/or location from the server')
    end

    def get_defaults(param)
      param = "default_organization" if param == :organization_id
      param = "default_location" if param == :location_id
      user = get_user
      val = nil
      if user
        val = user["results"].first[param] if user["results"]
        val = val["id"] if val.is_a?(Hash) && param.include?("default")
      end
      val
    end

    private
    def get_user
      login = @api_connection.authenticator.user
      users = @api_connection.resource(:users).action(:index).call(:search => "login=#{login}")
      users
    end
  end

  HammerCLI.defaults.register_provider(Defaults.new)
end

Version data entries

58 entries across 58 versions & 1 rubygems

Version Path
hammer_cli_foreman-3.14.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.13.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.12.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.10.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.9.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.8.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.7.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.5.1 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.6.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.5.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.4.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.3.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.2.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-2.5.2 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.1.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-3.0.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-2.5.1 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-2.5.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-2.3.2 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-2.4.0 lib/hammer_cli_foreman/defaults.rb