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.



11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
# File 'lib/models/porcelain.rb', line 11645

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.



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

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



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

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



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

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



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

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



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

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



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

def file_size
  @file_size
end

#heightObject

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



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

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



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

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



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

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



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

def pod
  @pod
end

#privilege_groupsObject

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



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

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



11635
11636
11637
# File 'lib/models/porcelain.rb', line 11635

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



11637
11638
11639
# File 'lib/models/porcelain.rb', line 11637

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



11639
11640
11641
# File 'lib/models/porcelain.rb', line 11639

def request_uri
  @request_uri
end

#typeObject

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



11641
11642
11643
# File 'lib/models/porcelain.rb', line 11641

def type
  @type
end

#widthObject

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



11643
11644
11645
# File 'lib/models/porcelain.rb', line 11643

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11681
11682
11683
11684
11685
11686
11687
# File 'lib/models/porcelain.rb', line 11681

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