Class: SDM::QueryCapture

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Overview

A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_command: nil, command: nil, container: nil, env: nil, file_name: nil, file_size: nil, height: nil, impersonation_groups: nil, impersonation_user: nil, pod: nil, privilege_groups: nil, request_body: nil, request_method: nil, request_uri: nil, type: nil, width: nil) ⇒ QueryCapture

Returns a new instance of QueryCapture.



14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
# File 'lib/models/porcelain.rb', line 14458

def initialize(
  client_command: nil,
  command: nil,
  container: nil,
  env: nil,
  file_name: nil,
  file_size: nil,
  height: nil,
  impersonation_groups: nil,
  impersonation_user: nil,
  pod: nil,
  privilege_groups: nil,
  request_body: nil,
  request_method: nil,
  request_uri: nil,
  type: nil,
  width: nil
)
  @client_command = client_command == nil ? "" : client_command
  @command = command == nil ? "" : command
  @container = container == nil ? "" : container
  @env = env == nil ? {} : env
  @file_name = file_name == nil ? "" : file_name
  @file_size = file_size == nil ? 0 : file_size
  @height = height == nil ? 0 : height
  @impersonation_groups = impersonation_groups == nil ? [] : impersonation_groups
  @impersonation_user = impersonation_user == nil ? "" : impersonation_user
  @pod = pod == nil ? "" : pod
  @privilege_groups = privilege_groups == nil ? [] : privilege_groups
  @request_body = request_body == nil ? "" : request_body
  @request_method = request_method == nil ? "" : request_method
  @request_uri = request_uri == nil ? "" : request_uri
  @type = type == nil ? "" : type
  @width = width == nil ? 0 : width
end

Instance Attribute Details

#client_commandObject

The command executed on the client for a Kubernetes session.



14426
14427
14428
# File 'lib/models/porcelain.rb', line 14426

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



14428
14429
14430
# File 'lib/models/porcelain.rb', line 14428

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



14430
14431
14432
# File 'lib/models/porcelain.rb', line 14430

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



14432
14433
14434
# File 'lib/models/porcelain.rb', line 14432

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



14434
14435
14436
# File 'lib/models/porcelain.rb', line 14434

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



14436
14437
14438
# File 'lib/models/porcelain.rb', line 14436

def file_size
  @file_size
end

#heightObject

The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.



14438
14439
14440
# File 'lib/models/porcelain.rb', line 14438

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



14440
14441
14442
# File 'lib/models/porcelain.rb', line 14440

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



14442
14443
14444
# File 'lib/models/porcelain.rb', line 14442

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



14444
14445
14446
# File 'lib/models/porcelain.rb', line 14444

def pod
  @pod
end

#privilege_groupsObject

The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.



14446
14447
14448
# File 'lib/models/porcelain.rb', line 14446

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



14448
14449
14450
# File 'lib/models/porcelain.rb', line 14448

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



14450
14451
14452
# File 'lib/models/porcelain.rb', line 14450

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



14452
14453
14454
# File 'lib/models/porcelain.rb', line 14452

def request_uri
  @request_uri
end

#typeObject

The CaptureType of this query capture, one of the CaptureType constants.



14454
14455
14456
# File 'lib/models/porcelain.rb', line 14454

def type
  @type
end

#widthObject

The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.



14456
14457
14458
# File 'lib/models/porcelain.rb', line 14456

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14494
14495
14496
14497
14498
14499
14500
# File 'lib/models/porcelain.rb', line 14494

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end