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.



14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
# File 'lib/models/porcelain.rb', line 14231

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.



14199
14200
14201
# File 'lib/models/porcelain.rb', line 14199

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



14201
14202
14203
# File 'lib/models/porcelain.rb', line 14201

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



14203
14204
14205
# File 'lib/models/porcelain.rb', line 14203

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



14205
14206
14207
# File 'lib/models/porcelain.rb', line 14205

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



14207
14208
14209
# File 'lib/models/porcelain.rb', line 14207

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



14209
14210
14211
# File 'lib/models/porcelain.rb', line 14209

def file_size
  @file_size
end

#heightObject

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



14211
14212
14213
# File 'lib/models/porcelain.rb', line 14211

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



14213
14214
14215
# File 'lib/models/porcelain.rb', line 14213

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



14215
14216
14217
# File 'lib/models/porcelain.rb', line 14215

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



14217
14218
14219
# File 'lib/models/porcelain.rb', line 14217

def pod
  @pod
end

#privilege_groupsObject

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



14219
14220
14221
# File 'lib/models/porcelain.rb', line 14219

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



14221
14222
14223
# File 'lib/models/porcelain.rb', line 14221

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



14223
14224
14225
# File 'lib/models/porcelain.rb', line 14223

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



14225
14226
14227
# File 'lib/models/porcelain.rb', line 14225

def request_uri
  @request_uri
end

#typeObject

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



14227
14228
14229
# File 'lib/models/porcelain.rb', line 14227

def type
  @type
end

#widthObject

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



14229
14230
14231
# File 'lib/models/porcelain.rb', line 14229

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14267
14268
14269
14270
14271
14272
14273
# File 'lib/models/porcelain.rb', line 14267

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