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.



6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
# File 'lib/models/porcelain.rb', line 6112

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.



6086
6087
6088
# File 'lib/models/porcelain.rb', line 6086

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



6088
6089
6090
# File 'lib/models/porcelain.rb', line 6088

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



6090
6091
6092
# File 'lib/models/porcelain.rb', line 6090

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



6092
6093
6094
# File 'lib/models/porcelain.rb', line 6092

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



6094
6095
6096
# File 'lib/models/porcelain.rb', line 6094

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



6096
6097
6098
# File 'lib/models/porcelain.rb', line 6096

def file_size
  @file_size
end

#heightObject

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



6098
6099
6100
# File 'lib/models/porcelain.rb', line 6098

def height
  @height
end

#podObject

The target pod of a Kubernetes operation.



6100
6101
6102
# File 'lib/models/porcelain.rb', line 6100

def pod
  @pod
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



6102
6103
6104
# File 'lib/models/porcelain.rb', line 6102

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



6104
6105
6106
# File 'lib/models/porcelain.rb', line 6104

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



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

def request_uri
  @request_uri
end

#typeObject

The CaptureType of this query capture.



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

def type
  @type
end

#widthObject

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



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

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



6142
6143
6144
6145
6146
6147
6148
# File 'lib/models/porcelain.rb', line 6142

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