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.



10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
# File 'lib/models/porcelain.rb', line 10134

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.



10102
10103
10104
# File 'lib/models/porcelain.rb', line 10102

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



10104
10105
10106
# File 'lib/models/porcelain.rb', line 10104

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



10106
10107
10108
# File 'lib/models/porcelain.rb', line 10106

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



10108
10109
10110
# File 'lib/models/porcelain.rb', line 10108

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



10110
10111
10112
# File 'lib/models/porcelain.rb', line 10110

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



10112
10113
10114
# File 'lib/models/porcelain.rb', line 10112

def file_size
  @file_size
end

#heightObject

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



10114
10115
10116
# File 'lib/models/porcelain.rb', line 10114

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



10116
10117
10118
# File 'lib/models/porcelain.rb', line 10116

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



10118
10119
10120
# File 'lib/models/porcelain.rb', line 10118

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



10120
10121
10122
# File 'lib/models/porcelain.rb', line 10120

def pod
  @pod
end

#privilege_groupsObject

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



10122
10123
10124
# File 'lib/models/porcelain.rb', line 10122

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



10124
10125
10126
# File 'lib/models/porcelain.rb', line 10124

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



10126
10127
10128
# File 'lib/models/porcelain.rb', line 10126

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



10128
10129
10130
# File 'lib/models/porcelain.rb', line 10128

def request_uri
  @request_uri
end

#typeObject

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



10130
10131
10132
# File 'lib/models/porcelain.rb', line 10130

def type
  @type
end

#widthObject

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



10132
10133
10134
# File 'lib/models/porcelain.rb', line 10132

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



10170
10171
10172
10173
10174
10175
10176
# File 'lib/models/porcelain.rb', line 10170

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