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.



13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
# File 'lib/models/porcelain.rb', line 13537

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.



13505
13506
13507
# File 'lib/models/porcelain.rb', line 13505

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



13507
13508
13509
# File 'lib/models/porcelain.rb', line 13507

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



13509
13510
13511
# File 'lib/models/porcelain.rb', line 13509

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



13511
13512
13513
# File 'lib/models/porcelain.rb', line 13511

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



13513
13514
13515
# File 'lib/models/porcelain.rb', line 13513

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



13515
13516
13517
# File 'lib/models/porcelain.rb', line 13515

def file_size
  @file_size
end

#heightObject

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



13517
13518
13519
# File 'lib/models/porcelain.rb', line 13517

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



13519
13520
13521
# File 'lib/models/porcelain.rb', line 13519

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



13521
13522
13523
# File 'lib/models/porcelain.rb', line 13521

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



13523
13524
13525
# File 'lib/models/porcelain.rb', line 13523

def pod
  @pod
end

#privilege_groupsObject

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



13525
13526
13527
# File 'lib/models/porcelain.rb', line 13525

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



13527
13528
13529
# File 'lib/models/porcelain.rb', line 13527

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



13529
13530
13531
# File 'lib/models/porcelain.rb', line 13529

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



13531
13532
13533
# File 'lib/models/porcelain.rb', line 13531

def request_uri
  @request_uri
end

#typeObject

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



13533
13534
13535
# File 'lib/models/porcelain.rb', line 13533

def type
  @type
end

#widthObject

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



13535
13536
13537
# File 'lib/models/porcelain.rb', line 13535

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13573
13574
13575
13576
13577
13578
13579
# File 'lib/models/porcelain.rb', line 13573

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