Module: Legion::Extensions::ServiceNow::Grc::Runners::Grc

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/service_now/grc/runners/grc.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_audit(sys_id:) ⇒ Object



43
44
45
46
# File 'lib/legion/extensions/service_now/grc/runners/grc.rb', line 43

def get_audit(sys_id:, **)
  resp = get("/api/now/table/sn_audit_engagement/#{sys_id}", {}, **)
  { audit: resp.body['result'] }
end

#get_control(sys_id:) ⇒ Object



31
32
33
34
# File 'lib/legion/extensions/service_now/grc/runners/grc.rb', line 31

def get_control(sys_id:, **)
  resp = get("/api/now/table/sn_compliance_control/#{sys_id}", {}, **)
  { control: resp.body['result'] }
end

#get_risk(sys_id:) ⇒ Object



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

def get_risk(sys_id:, **)
  resp = get("/api/now/table/sn_risk_risk/#{sys_id}", {}, **)
  { risk: resp.body['result'] }
end

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



36
37
38
39
40
41
# File 'lib/legion/extensions/service_now/grc/runners/grc.rb', line 36

def list_audits(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/sn_audit_engagement', params, **)
  { audits: resp.body['result'] }
end

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



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

def list_controls(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/sn_compliance_control', params, **)
  { controls: resp.body['result'] }
end

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



48
49
50
51
52
# File 'lib/legion/extensions/service_now/grc/runners/grc.rb', line 48

def list_policies(sysparm_limit: 100, sysparm_offset: 0, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  resp = get('/api/now/table/sn_policy_m2m_policy_exception', params, **)
  { policies: resp.body['result'] }
end

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



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

def list_risks(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/sn_risk_risk', params, **)
  { risks: resp.body['result'] }
end