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.



14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
# File 'lib/models/porcelain.rb', line 14645

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.



14613
14614
14615
# File 'lib/models/porcelain.rb', line 14613

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



14615
14616
14617
# File 'lib/models/porcelain.rb', line 14615

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



14617
14618
14619
# File 'lib/models/porcelain.rb', line 14617

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



14619
14620
14621
# File 'lib/models/porcelain.rb', line 14619

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



14621
14622
14623
# File 'lib/models/porcelain.rb', line 14621

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



14623
14624
14625
# File 'lib/models/porcelain.rb', line 14623

def file_size
  @file_size
end

#heightObject

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



14625
14626
14627
# File 'lib/models/porcelain.rb', line 14625

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



14627
14628
14629
# File 'lib/models/porcelain.rb', line 14627

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



14629
14630
14631
# File 'lib/models/porcelain.rb', line 14629

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



14631
14632
14633
# File 'lib/models/porcelain.rb', line 14631

def pod
  @pod
end

#privilege_groupsObject

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



14633
14634
14635
# File 'lib/models/porcelain.rb', line 14633

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



14635
14636
14637
# File 'lib/models/porcelain.rb', line 14635

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



14637
14638
14639
# File 'lib/models/porcelain.rb', line 14637

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



14639
14640
14641
# File 'lib/models/porcelain.rb', line 14639

def request_uri
  @request_uri
end

#typeObject

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



14641
14642
14643
# File 'lib/models/porcelain.rb', line 14641

def type
  @type
end

#widthObject

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



14643
14644
14645
# File 'lib/models/porcelain.rb', line 14643

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14681
14682
14683
14684
14685
14686
14687
# File 'lib/models/porcelain.rb', line 14681

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