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.



11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
# File 'lib/models/porcelain.rb', line 11469

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.



11437
11438
11439
# File 'lib/models/porcelain.rb', line 11437

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



11439
11440
11441
# File 'lib/models/porcelain.rb', line 11439

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



11441
11442
11443
# File 'lib/models/porcelain.rb', line 11441

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



11443
11444
11445
# File 'lib/models/porcelain.rb', line 11443

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



11445
11446
11447
# File 'lib/models/porcelain.rb', line 11445

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



11447
11448
11449
# File 'lib/models/porcelain.rb', line 11447

def file_size
  @file_size
end

#heightObject

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



11449
11450
11451
# File 'lib/models/porcelain.rb', line 11449

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



11451
11452
11453
# File 'lib/models/porcelain.rb', line 11451

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



11453
11454
11455
# File 'lib/models/porcelain.rb', line 11453

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



11455
11456
11457
# File 'lib/models/porcelain.rb', line 11455

def pod
  @pod
end

#privilege_groupsObject

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



11457
11458
11459
# File 'lib/models/porcelain.rb', line 11457

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



11459
11460
11461
# File 'lib/models/porcelain.rb', line 11459

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



11461
11462
11463
# File 'lib/models/porcelain.rb', line 11461

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



11463
11464
11465
# File 'lib/models/porcelain.rb', line 11463

def request_uri
  @request_uri
end

#typeObject

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



11465
11466
11467
# File 'lib/models/porcelain.rb', line 11465

def type
  @type
end

#widthObject

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



11467
11468
11469
# File 'lib/models/porcelain.rb', line 11467

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11505
11506
11507
11508
11509
11510
11511
# File 'lib/models/porcelain.rb', line 11505

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