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.



10127
10128
10129
10130
10131
10132
10133
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
# File 'lib/models/porcelain.rb', line 10127

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.



10095
10096
10097
# File 'lib/models/porcelain.rb', line 10095

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



10097
10098
10099
# File 'lib/models/porcelain.rb', line 10097

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



10099
10100
10101
# File 'lib/models/porcelain.rb', line 10099

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



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

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



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

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



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

def file_size
  @file_size
end

#heightObject

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



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

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



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

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



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

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



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

def pod
  @pod
end

#privilege_groupsObject

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



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

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



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

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



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

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



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

def request_uri
  @request_uri
end

#typeObject

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



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

def type
  @type
end

#widthObject

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



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

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



10163
10164
10165
10166
10167
10168
10169
# File 'lib/models/porcelain.rb', line 10163

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