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.



14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
# File 'lib/models/porcelain.rb', line 14646

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_command ⇒ Object

The command executed on the client for a Kubernetes session.



14614
14615
14616
# File 'lib/models/porcelain.rb', line 14614

def client_command
  @client_command
end

#command ⇒ Object

The command executed over an SSH or Kubernetes session.



14616
14617
14618
# File 'lib/models/porcelain.rb', line 14616

def command
  @command
end

#container ⇒ Object

The target container of a Kubernetes operation.



14618
14619
14620
# File 'lib/models/porcelain.rb', line 14618

def container
  @container
end

#env ⇒ Object

The environment variables for an SSH or Kubernetes session.



14620
14621
14622
# File 'lib/models/porcelain.rb', line 14620

def env
  @env
end

#file_name ⇒ Object

The remote file name of an SCP operation.



14622
14623
14624
# File 'lib/models/porcelain.rb', line 14622

def file_name
  @file_name
end

#file_size ⇒ Object

The file size transferred for an SCP operation.



14624
14625
14626
# File 'lib/models/porcelain.rb', line 14624

def file_size
  @file_size
end

#height ⇒ Object

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



14626
14627
14628
# File 'lib/models/porcelain.rb', line 14626

def height
  @height
end

#impersonation_groups ⇒ Object

The impersonation groups of a Kubernetes operation.



14628
14629
14630
# File 'lib/models/porcelain.rb', line 14628

def impersonation_groups
  @impersonation_groups
end

#impersonation_user ⇒ Object

The impersonation user of a Kubernetes operation.



14630
14631
14632
# File 'lib/models/porcelain.rb', line 14630

def impersonation_user
  @impersonation_user
end

#pod ⇒ Object

The target pod of a Kubernetes operation.



14632
14633
14634
# File 'lib/models/porcelain.rb', line 14632

def pod
  @pod
end

#privilege_groups ⇒ Object

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



14634
14635
14636
# File 'lib/models/porcelain.rb', line 14634

def privilege_groups
  @privilege_groups
end

#request_body ⇒ Object

The HTTP request body of a Kubernetes operation.



14636
14637
14638
# File 'lib/models/porcelain.rb', line 14636

def request_body
  @request_body
end

#request_method ⇒ Object

The HTTP request method of a Kubernetes operation.



14638
14639
14640
# File 'lib/models/porcelain.rb', line 14638

def request_method
  @request_method
end

#request_uri ⇒ Object

The HTTP request URI of a Kubernetes operation.



14640
14641
14642
# File 'lib/models/porcelain.rb', line 14640

def request_uri
  @request_uri
end

#type ⇒ Object

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



14642
14643
14644
# File 'lib/models/porcelain.rb', line 14642

def type
  @type
end

#width ⇒ Object

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



14644
14645
14646
# File 'lib/models/porcelain.rb', line 14644

def width
  @width
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14682
14683
14684
14685
14686
14687
14688
# File 'lib/models/porcelain.rb', line 14682

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