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.



9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
# File 'lib/models/porcelain.rb', line 9297

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.



9267
9268
9269
# File 'lib/models/porcelain.rb', line 9267

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9269
9270
9271
# File 'lib/models/porcelain.rb', line 9269

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9271
9272
9273
# File 'lib/models/porcelain.rb', line 9271

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9273
9274
9275
# File 'lib/models/porcelain.rb', line 9273

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9275
9276
9277
# File 'lib/models/porcelain.rb', line 9275

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9277
9278
9279
# File 'lib/models/porcelain.rb', line 9277

def file_size
  @file_size
end

#heightObject

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



9279
9280
9281
# File 'lib/models/porcelain.rb', line 9279

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9281
9282
9283
# File 'lib/models/porcelain.rb', line 9281

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9283
9284
9285
# File 'lib/models/porcelain.rb', line 9283

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9285
9286
9287
# File 'lib/models/porcelain.rb', line 9285

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9287
9288
9289
# File 'lib/models/porcelain.rb', line 9287

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9289
9290
9291
# File 'lib/models/porcelain.rb', line 9289

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9291
9292
9293
# File 'lib/models/porcelain.rb', line 9291

def request_uri
  @request_uri
end

#typeObject

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



9293
9294
9295
# File 'lib/models/porcelain.rb', line 9293

def type
  @type
end

#widthObject

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



9295
9296
9297
# File 'lib/models/porcelain.rb', line 9295

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9331
9332
9333
9334
9335
9336
9337
# File 'lib/models/porcelain.rb', line 9331

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