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.



9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
# File 'lib/models/porcelain.rb', line 9841

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.



9811
9812
9813
# File 'lib/models/porcelain.rb', line 9811

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9813
9814
9815
# File 'lib/models/porcelain.rb', line 9813

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9815
9816
9817
# File 'lib/models/porcelain.rb', line 9815

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9817
9818
9819
# File 'lib/models/porcelain.rb', line 9817

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9819
9820
9821
# File 'lib/models/porcelain.rb', line 9819

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9821
9822
9823
# File 'lib/models/porcelain.rb', line 9821

def file_size
  @file_size
end

#heightObject

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



9823
9824
9825
# File 'lib/models/porcelain.rb', line 9823

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9825
9826
9827
# File 'lib/models/porcelain.rb', line 9825

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9827
9828
9829
# File 'lib/models/porcelain.rb', line 9827

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9829
9830
9831
# File 'lib/models/porcelain.rb', line 9829

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9831
9832
9833
# File 'lib/models/porcelain.rb', line 9831

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9833
9834
9835
# File 'lib/models/porcelain.rb', line 9833

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9835
9836
9837
# File 'lib/models/porcelain.rb', line 9835

def request_uri
  @request_uri
end

#typeObject

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



9837
9838
9839
# File 'lib/models/porcelain.rb', line 9837

def type
  @type
end

#widthObject

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



9839
9840
9841
# File 'lib/models/porcelain.rb', line 9839

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9875
9876
9877
9878
9879
9880
9881
# File 'lib/models/porcelain.rb', line 9875

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