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.



9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
# File 'lib/models/porcelain.rb', line 9226

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.



9196
9197
9198
# File 'lib/models/porcelain.rb', line 9196

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



9198
9199
9200
# File 'lib/models/porcelain.rb', line 9198

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



9200
9201
9202
# File 'lib/models/porcelain.rb', line 9200

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



9202
9203
9204
# File 'lib/models/porcelain.rb', line 9202

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



9204
9205
9206
# File 'lib/models/porcelain.rb', line 9204

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



9206
9207
9208
# File 'lib/models/porcelain.rb', line 9206

def file_size
  @file_size
end

#heightObject

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



9208
9209
9210
# File 'lib/models/porcelain.rb', line 9208

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



9210
9211
9212
# File 'lib/models/porcelain.rb', line 9210

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



9212
9213
9214
# File 'lib/models/porcelain.rb', line 9212

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



9214
9215
9216
# File 'lib/models/porcelain.rb', line 9214

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



9216
9217
9218
# File 'lib/models/porcelain.rb', line 9216

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



9218
9219
9220
# File 'lib/models/porcelain.rb', line 9218

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



9220
9221
9222
# File 'lib/models/porcelain.rb', line 9220

def request_uri
  @request_uri
end

#typeObject

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



9222
9223
9224
# File 'lib/models/porcelain.rb', line 9222

def type
  @type
end

#widthObject

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



9224
9225
9226
# File 'lib/models/porcelain.rb', line 9224

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9260
9261
9262
9263
9264
9265
9266
# File 'lib/models/porcelain.rb', line 9260

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