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.



14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
# File 'lib/models/porcelain.rb', line 14538

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.



14506
14507
14508
# File 'lib/models/porcelain.rb', line 14506

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



14508
14509
14510
# File 'lib/models/porcelain.rb', line 14508

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



14510
14511
14512
# File 'lib/models/porcelain.rb', line 14510

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



14512
14513
14514
# File 'lib/models/porcelain.rb', line 14512

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



14514
14515
14516
# File 'lib/models/porcelain.rb', line 14514

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



14516
14517
14518
# File 'lib/models/porcelain.rb', line 14516

def file_size
  @file_size
end

#heightObject

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



14518
14519
14520
# File 'lib/models/porcelain.rb', line 14518

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



14520
14521
14522
# File 'lib/models/porcelain.rb', line 14520

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



14522
14523
14524
# File 'lib/models/porcelain.rb', line 14522

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



14524
14525
14526
# File 'lib/models/porcelain.rb', line 14524

def pod
  @pod
end

#privilege_groupsObject

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



14526
14527
14528
# File 'lib/models/porcelain.rb', line 14526

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



14528
14529
14530
# File 'lib/models/porcelain.rb', line 14528

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



14530
14531
14532
# File 'lib/models/porcelain.rb', line 14530

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



14532
14533
14534
# File 'lib/models/porcelain.rb', line 14532

def request_uri
  @request_uri
end

#typeObject

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



14534
14535
14536
# File 'lib/models/porcelain.rb', line 14534

def type
  @type
end

#widthObject

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



14536
14537
14538
# File 'lib/models/porcelain.rb', line 14536

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14574
14575
14576
14577
14578
14579
14580
# File 'lib/models/porcelain.rb', line 14574

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