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.



6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
# File 'lib/models/porcelain.rb', line 6133

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.



6107
6108
6109
# File 'lib/models/porcelain.rb', line 6107

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



6109
6110
6111
# File 'lib/models/porcelain.rb', line 6109

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



6111
6112
6113
# File 'lib/models/porcelain.rb', line 6111

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



6113
6114
6115
# File 'lib/models/porcelain.rb', line 6113

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



6115
6116
6117
# File 'lib/models/porcelain.rb', line 6115

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



6117
6118
6119
# File 'lib/models/porcelain.rb', line 6117

def file_size
  @file_size
end

#heightObject

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



6119
6120
6121
# File 'lib/models/porcelain.rb', line 6119

def height
  @height
end

#podObject

The target pod of a Kubernetes operation.



6121
6122
6123
# File 'lib/models/porcelain.rb', line 6121

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



6123
6124
6125
# File 'lib/models/porcelain.rb', line 6123

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



6125
6126
6127
# File 'lib/models/porcelain.rb', line 6125

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



6127
6128
6129
# File 'lib/models/porcelain.rb', line 6127

def request_uri
  @request_uri
end

#typeObject

The CaptureType of this query capture.



6129
6130
6131
# File 'lib/models/porcelain.rb', line 6129

def type
  @type
end

#widthObject

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



6131
6132
6133
# File 'lib/models/porcelain.rb', line 6131

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



6163
6164
6165
6166
6167
6168
6169
# File 'lib/models/porcelain.rb', line 6163

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