Module: Legion::Extensions::ServiceNow::License::Runners::License

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

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_license(sys_id:) ⇒ Object



17
18
19
20
# File 'lib/legion/extensions/service_now/license/runners/license.rb', line 17

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

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



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

def list_installed_software(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_sam_sw_install', params)
  { installations: resp.body['result'] }
end

#list_license_allocations(license_sys_id: nil, sysparm_limit: 100) ⇒ Object



22
23
24
25
26
27
# File 'lib/legion/extensions/service_now/license/runners/license.rb', line 22

def list_license_allocations(license_sys_id: nil, sysparm_limit: 100, **)
  params = { sysparm_limit: sysparm_limit }
  params[:sysparm_query] = "license_agreement=#{license_sys_id}" if license_sys_id
  resp = connection(**).get('/api/now/table/license_allocation', params)
  { allocations: resp.body['result'] }
end

#list_licenses(sysparm_limit: 100, sysparm_offset: 0) ⇒ Object



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

def list_licenses(sysparm_limit: 100, sysparm_offset: 0, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  resp = connection(**).get('/api/now/table/license_agreement', params)
  { licenses: resp.body['result'] }
end