Module: ForemanRemoteExecution::SmartProxyExtensions

Defined in:
app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object



3
4
5
6
7
8
# File 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb', line 3

def self.prepended(base)
  base.instance_eval do
    has_many :host_proxy_invocations, :dependent => :destroy
    has_many :template_invocations, :dependent => :nullify
  end
end

Instance Method Details

#drop_host_from_known_hosts(host) ⇒ Object



22
23
24
# File 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb', line 22

def drop_host_from_known_hosts(host)
  ::ProxyAPI::RemoteExecutionSSH.new(:url => url).drop_from_known_hosts(host)
end

#pubkeyObject



10
11
12
# File 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb', line 10

def pubkey
  self[:pubkey] || update_pubkey
end

#refreshObject



26
27
28
29
30
# File 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb', line 26

def refresh
  errors = super
  update_pubkey
  errors
end

#update_pubkeyObject



14
15
16
17
18
19
20
# File 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb', line 14

def update_pubkey
  return unless has_feature?(%w(SSH Script))

  key = ::ProxyAPI::RemoteExecutionSSH.new(:url => url).pubkey
  self.update_attribute(:pubkey, key) if key
  key
end