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, request_body: nil, request_method: nil, request_uri: nil, type: nil, width: nil) ⇒ QueryCapture

Returns a new instance of QueryCapture.



9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
# File 'lib/models/porcelain.rb', line 9546

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,
  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
  @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.



9516
9517
9518
# File 'lib/models/porcelain.rb', line 9516

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9518
9519
9520
# File 'lib/models/porcelain.rb', line 9518

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9520
9521
9522
# File 'lib/models/porcelain.rb', line 9520

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9522
9523
9524
# File 'lib/models/porcelain.rb', line 9522

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9524
9525
9526
# File 'lib/models/porcelain.rb', line 9524

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9526
9527
9528
# File 'lib/models/porcelain.rb', line 9526

def file_size
  @file_size
end

#heightObject

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



9528
9529
9530
# File 'lib/models/porcelain.rb', line 9528

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9530
9531
9532
# File 'lib/models/porcelain.rb', line 9530

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9532
9533
9534
# File 'lib/models/porcelain.rb', line 9532

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9534
9535
9536
# File 'lib/models/porcelain.rb', line 9534

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9536
9537
9538
# File 'lib/models/porcelain.rb', line 9536

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9538
9539
9540
# File 'lib/models/porcelain.rb', line 9538

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9540
9541
9542
# File 'lib/models/porcelain.rb', line 9540

def request_uri
  @request_uri
end

#typeObject

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



9542
9543
9544
# File 'lib/models/porcelain.rb', line 9542

def type
  @type
end

#widthObject

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



9544
9545
9546
# File 'lib/models/porcelain.rb', line 9544

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9580
9581
9582
9583
9584
9585
9586
# File 'lib/models/porcelain.rb', line 9580

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