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.



11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
# File 'lib/models/porcelain.rb', line 11129

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.



11097
11098
11099
# File 'lib/models/porcelain.rb', line 11097

def client_command
  @client_command
end

#commandObject

The command executed over an SSH or Kubernetes session.



11099
11100
11101
# File 'lib/models/porcelain.rb', line 11099

def command
  @command
end

#containerObject

The target container of a Kubernetes operation.



11101
11102
11103
# File 'lib/models/porcelain.rb', line 11101

def container
  @container
end

#envObject

The environment variables for an SSH or Kubernetes session.



11103
11104
11105
# File 'lib/models/porcelain.rb', line 11103

def env
  @env
end

#file_nameObject

The remote file name of an SCP operation.



11105
11106
11107
# File 'lib/models/porcelain.rb', line 11105

def file_name
  @file_name
end

#file_sizeObject

The file size transferred for an SCP operation.



11107
11108
11109
# File 'lib/models/porcelain.rb', line 11107

def file_size
  @file_size
end

#heightObject

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



11109
11110
11111
# File 'lib/models/porcelain.rb', line 11109

def height
  @height
end

#impersonation_groupsObject

The impersonation groups of a Kubernetes operation.



11111
11112
11113
# File 'lib/models/porcelain.rb', line 11111

def impersonation_groups
  @impersonation_groups
end

#impersonation_userObject

The impersonation user of a Kubernetes operation.



11113
11114
11115
# File 'lib/models/porcelain.rb', line 11113

def impersonation_user
  @impersonation_user
end

#podObject

The target pod of a Kubernetes operation.



11115
11116
11117
# File 'lib/models/porcelain.rb', line 11115

def pod
  @pod
end

#privilege_groupsObject

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



11117
11118
11119
# File 'lib/models/porcelain.rb', line 11117

def privilege_groups
  @privilege_groups
end

#request_bodyObject

The HTTP request body of a Kubernetes operation.



11119
11120
11121
# File 'lib/models/porcelain.rb', line 11119

def request_body
  @request_body
end

#request_methodObject

The HTTP request method of a Kubernetes operation.



11121
11122
11123
# File 'lib/models/porcelain.rb', line 11121

def request_method
  @request_method
end

#request_uriObject

The HTTP request URI of a Kubernetes operation.



11123
11124
11125
# File 'lib/models/porcelain.rb', line 11123

def request_uri
  @request_uri
end

#typeObject

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



11125
11126
11127
# File 'lib/models/porcelain.rb', line 11125

def type
  @type
end

#widthObject

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



11127
11128
11129
# File 'lib/models/porcelain.rb', line 11127

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11165
11166
11167
11168
11169
11170
11171
# File 'lib/models/porcelain.rb', line 11165

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