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, request_body: nil, request_method: nil, request_uri: nil, type: nil, width: nil) ⇒ QueryCapture

Returns a new instance of QueryCapture.



9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
# File 'lib/models/porcelain.rb', line 9453

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,
  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
  @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.



9423
9424
9425
# File 'lib/models/porcelain.rb', line 9423

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9425
9426
9427
# File 'lib/models/porcelain.rb', line 9425

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9427
9428
9429
# File 'lib/models/porcelain.rb', line 9427

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9429
9430
9431
# File 'lib/models/porcelain.rb', line 9429

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9431
9432
9433
# File 'lib/models/porcelain.rb', line 9431

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9433
9434
9435
# File 'lib/models/porcelain.rb', line 9433

def file_size
  @file_size
end

#heightObject

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



9435
9436
9437
# File 'lib/models/porcelain.rb', line 9435

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9437
9438
9439
# File 'lib/models/porcelain.rb', line 9437

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9439
9440
9441
# File 'lib/models/porcelain.rb', line 9439

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9441
9442
9443
# File 'lib/models/porcelain.rb', line 9441

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9443
9444
9445
# File 'lib/models/porcelain.rb', line 9443

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9445
9446
9447
# File 'lib/models/porcelain.rb', line 9445

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9447
9448
9449
# File 'lib/models/porcelain.rb', line 9447

def request_uri
  @request_uri
end

#typeObject

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



9449
9450
9451
# File 'lib/models/porcelain.rb', line 9449

def type
  @type
end

#widthObject

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



9451
9452
9453
# File 'lib/models/porcelain.rb', line 9451

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9487
9488
9489
9490
9491
9492
9493
# File 'lib/models/porcelain.rb', line 9487

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