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.



11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
# File 'lib/models/porcelain.rb', line 11634

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.



11602
11603
11604
# File 'lib/models/porcelain.rb', line 11602

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



11604
11605
11606
# File 'lib/models/porcelain.rb', line 11604

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



11606
11607
11608
# File 'lib/models/porcelain.rb', line 11606

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



11608
11609
11610
# File 'lib/models/porcelain.rb', line 11608

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



11610
11611
11612
# File 'lib/models/porcelain.rb', line 11610

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



11612
11613
11614
# File 'lib/models/porcelain.rb', line 11612

def file_size
  @file_size
end

#heightObject

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



11614
11615
11616
# File 'lib/models/porcelain.rb', line 11614

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



11616
11617
11618
# File 'lib/models/porcelain.rb', line 11616

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



11618
11619
11620
# File 'lib/models/porcelain.rb', line 11618

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



11620
11621
11622
# File 'lib/models/porcelain.rb', line 11620

def pod
  @pod
end

#privilege_groupsObject

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



11622
11623
11624
# File 'lib/models/porcelain.rb', line 11622

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



11624
11625
11626
# File 'lib/models/porcelain.rb', line 11624

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



11626
11627
11628
# File 'lib/models/porcelain.rb', line 11626

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



11628
11629
11630
# File 'lib/models/porcelain.rb', line 11628

def request_uri
  @request_uri
end

#typeObject

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



11630
11631
11632
# File 'lib/models/porcelain.rb', line 11630

def type
  @type
end

#widthObject

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



11632
11633
11634
# File 'lib/models/porcelain.rb', line 11632

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11670
11671
11672
11673
11674
11675
11676
# File 'lib/models/porcelain.rb', line 11670

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