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

Returns a new instance of QueryCapture.



8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
# File 'lib/models/porcelain.rb', line 8173

def initialize(
  client_command: nil,
  command: nil,
  container: nil,
  env: nil,
  file_name: nil,
  file_size: nil,
  height: 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
  @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.



8147
8148
8149
# File 'lib/models/porcelain.rb', line 8147

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



8149
8150
8151
# File 'lib/models/porcelain.rb', line 8149

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



8151
8152
8153
# File 'lib/models/porcelain.rb', line 8151

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



8153
8154
8155
# File 'lib/models/porcelain.rb', line 8153

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



8155
8156
8157
# File 'lib/models/porcelain.rb', line 8155

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



8157
8158
8159
# File 'lib/models/porcelain.rb', line 8157

def file_size
  @file_size
end

#heightObject

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



8159
8160
8161
# File 'lib/models/porcelain.rb', line 8159

def height
  @height
end

#podObject

The target pod of a Kubernetes operation.



8161
8162
8163
# File 'lib/models/porcelain.rb', line 8161

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



8163
8164
8165
# File 'lib/models/porcelain.rb', line 8163

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



8165
8166
8167
# File 'lib/models/porcelain.rb', line 8165

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



8167
8168
8169
# File 'lib/models/porcelain.rb', line 8167

def request_uri
  @request_uri
end

#typeObject

The CaptureType of this query capture.



8169
8170
8171
# File 'lib/models/porcelain.rb', line 8169

def type
  @type
end

#widthObject

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



8171
8172
8173
# File 'lib/models/porcelain.rb', line 8171

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



8203
8204
8205
8206
8207
8208
8209
# File 'lib/models/porcelain.rb', line 8203

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