Module: PuppetX::Relay::Agent::Backend

Defined in:
lib/puppet_x/relay/agent/backend.rb,
lib/puppet_x/relay/agent/backend/ssh.rb,
lib/puppet_x/relay/agent/backend/base.rb,
lib/puppet_x/relay/agent/backend/bolt.rb,
lib/puppet_x/relay/agent/backend/dummy.rb,
lib/puppet_x/relay/agent/backend/process.rb,
lib/puppet_x/relay/agent/backend/orchestrator.rb

Defined Under Namespace

Classes: Base, Bolt, Dummy, Orchestrator, Process, SSH

Constant Summary collapse

FACTORIES =
{
  bolt: proc do |relay_api, cfg|
    Bolt.new(relay_api,
             bolt_command: cfg[:backend_bolt_command],
             ssh_user: cfg[:backend_bolt_ssh_user],
             ssh_password: cfg[:backend_bolt_ssh_password],
             ssh_host_key_check: cfg[:backend_bolt_ssh_host_key_check])
  end,
  dummy: proc { |relay_api| Dummy.new(relay_api) },
  orchestrator: proc do |relay_api, cfg|
    orchestrator_api = Util::HTTP::PE.new(cfg[:backend_orchestrator_api_url], cfg[:backend_orchestrator_token])
    Orchestrator.new(relay_api, orchestrator_api)
  end,
  ssh: proc do |relay_api, cfg|
    SSH.new(relay_api, ssh_command: cfg[:backend_ssh_command])
  end,
}.freeze

Class Method Summary collapse

Class Method Details

.new_for_configuration(name, relay_api, cfg) ⇒ Object



34
35
36
# File 'lib/puppet_x/relay/agent/backend.rb', line 34

def new_for_configuration(name, relay_api, cfg)
  FACTORIES.fetch(name.to_sym).call(relay_api, cfg)
end