Module: Legion::Extensions::ServiceNow::Discovery::Runners::Discovery

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/service_now/discovery/runners/discovery.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_discovery_schedule(sys_id:) ⇒ Object



19
20
21
22
# File 'lib/legion/extensions/service_now/discovery/runners/discovery.rb', line 19

def get_discovery_schedule(sys_id:, **)
  resp = connection(**).get("/api/now/table/discovery_schedule/#{sys_id}")
  { schedule: resp.body['result'] }
end

#list_discovered_devices(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/legion/extensions/service_now/discovery/runners/discovery.rb', line 38

def list_discovered_devices(sysparm_limit: 100, sysparm_offset: 0,
                            sysparm_query: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = sysparm_query if sysparm_query
  resp = connection(**).get('/api/now/table/cmdb_ci', params)
  { devices: resp.body['result'] }
end

#list_discovery_logs(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/legion/extensions/service_now/discovery/runners/discovery.rb', line 30

def list_discovery_logs(sysparm_limit: 100, sysparm_offset: 0,
                        sysparm_query: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = sysparm_query if sysparm_query
  resp = connection(**).get('/api/now/table/discovery_log', params)
  { logs: resp.body['result'] }
end

#list_discovery_schedules(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/legion/extensions/service_now/discovery/runners/discovery.rb', line 11

def list_discovery_schedules(sysparm_limit: 100, sysparm_offset: 0,
                             sysparm_query: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = sysparm_query if sysparm_query
  resp = connection(**).get('/api/now/table/discovery_schedule', params)
  { schedules: resp.body['result'] }
end

#trigger_discovery(schedule_sys_id:) ⇒ Object



24
25
26
27
28
# File 'lib/legion/extensions/service_now/discovery/runners/discovery.rb', line 24

def trigger_discovery(schedule_sys_id:, **)
  body = { schedule_sys_id: schedule_sys_id }
  resp = connection(**).post('/api/now/table/discovery_log', body)
  { result: resp.body['result'] }
end