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.



11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
# File 'lib/models/porcelain.rb', line 11197

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.



11165
11166
11167
# File 'lib/models/porcelain.rb', line 11165

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



11167
11168
11169
# File 'lib/models/porcelain.rb', line 11167

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



11169
11170
11171
# File 'lib/models/porcelain.rb', line 11169

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



11171
11172
11173
# File 'lib/models/porcelain.rb', line 11171

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



11173
11174
11175
# File 'lib/models/porcelain.rb', line 11173

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



11175
11176
11177
# File 'lib/models/porcelain.rb', line 11175

def file_size
  @file_size
end

#heightObject

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



11177
11178
11179
# File 'lib/models/porcelain.rb', line 11177

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



11179
11180
11181
# File 'lib/models/porcelain.rb', line 11179

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



11181
11182
11183
# File 'lib/models/porcelain.rb', line 11181

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



11183
11184
11185
# File 'lib/models/porcelain.rb', line 11183

def pod
  @pod
end

#privilege_groupsObject

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



11185
11186
11187
# File 'lib/models/porcelain.rb', line 11185

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



11187
11188
11189
# File 'lib/models/porcelain.rb', line 11187

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



11189
11190
11191
# File 'lib/models/porcelain.rb', line 11189

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



11191
11192
11193
# File 'lib/models/porcelain.rb', line 11191

def request_uri
  @request_uri
end

#typeObject

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



11193
11194
11195
# File 'lib/models/porcelain.rb', line 11193

def type
  @type
end

#widthObject

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



11195
11196
11197
# File 'lib/models/porcelain.rb', line 11195

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11233
11234
11235
11236
11237
11238
11239
# File 'lib/models/porcelain.rb', line 11233

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