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.



9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
# File 'lib/models/porcelain.rb', line 9908

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.



9878
9879
9880
# File 'lib/models/porcelain.rb', line 9878

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9880
9881
9882
# File 'lib/models/porcelain.rb', line 9880

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9882
9883
9884
# File 'lib/models/porcelain.rb', line 9882

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9884
9885
9886
# File 'lib/models/porcelain.rb', line 9884

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9886
9887
9888
# File 'lib/models/porcelain.rb', line 9886

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9888
9889
9890
# File 'lib/models/porcelain.rb', line 9888

def file_size
  @file_size
end

#heightObject

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



9890
9891
9892
# File 'lib/models/porcelain.rb', line 9890

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9892
9893
9894
# File 'lib/models/porcelain.rb', line 9892

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9894
9895
9896
# File 'lib/models/porcelain.rb', line 9894

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9896
9897
9898
# File 'lib/models/porcelain.rb', line 9896

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9898
9899
9900
# File 'lib/models/porcelain.rb', line 9898

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9900
9901
9902
# File 'lib/models/porcelain.rb', line 9900

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9902
9903
9904
# File 'lib/models/porcelain.rb', line 9902

def request_uri
  @request_uri
end

#typeObject

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



9904
9905
9906
# File 'lib/models/porcelain.rb', line 9904

def type
  @type
end

#widthObject

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



9906
9907
9908
# File 'lib/models/porcelain.rb', line 9906

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9942
9943
9944
9945
9946
9947
9948
# File 'lib/models/porcelain.rb', line 9942

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