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

Constant Summary

Constants included from Helpers::Client

Helpers::Client::OAUTH_TOKEN_BUFFER_SECONDS

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 = 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 = 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 = 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 = get('/api/now/table/license_agreement', params, **)
  { licenses: resp.body['result'] }
end