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



12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
# File 'lib/models/porcelain.rb', line 12861

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.



12829
12830
12831
# File 'lib/models/porcelain.rb', line 12829

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



12831
12832
12833
# File 'lib/models/porcelain.rb', line 12831

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



12833
12834
12835
# File 'lib/models/porcelain.rb', line 12833

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



12835
12836
12837
# File 'lib/models/porcelain.rb', line 12835

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



12837
12838
12839
# File 'lib/models/porcelain.rb', line 12837

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



12839
12840
12841
# File 'lib/models/porcelain.rb', line 12839

def file_size
  @file_size
end

#heightObject

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



12841
12842
12843
# File 'lib/models/porcelain.rb', line 12841

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



12843
12844
12845
# File 'lib/models/porcelain.rb', line 12843

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



12845
12846
12847
# File 'lib/models/porcelain.rb', line 12845

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



12847
12848
12849
# File 'lib/models/porcelain.rb', line 12847

def pod
  @pod
end

#privilege_groupsObject

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



12849
12850
12851
# File 'lib/models/porcelain.rb', line 12849

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



12851
12852
12853
# File 'lib/models/porcelain.rb', line 12851

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



12853
12854
12855
# File 'lib/models/porcelain.rb', line 12853

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



12855
12856
12857
# File 'lib/models/porcelain.rb', line 12855

def request_uri
  @request_uri
end

#typeObject

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



12857
12858
12859
# File 'lib/models/porcelain.rb', line 12857

def type
  @type
end

#widthObject

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



12859
12860
12861
# File 'lib/models/porcelain.rb', line 12859

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12897
12898
12899
12900
12901
12902
12903
# File 'lib/models/porcelain.rb', line 12897

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