Class: Legion::Extensions::Velociraptor::Client

Inherits:
Object
  • Object
show all
Includes:
Helpers::Cli, Runners::Collections, Runners::Hunts, Runners::Query
Defined in:
lib/legion/extensions/velociraptor/client.rb

Constant Summary

Constants included from Helpers::Cli

Helpers::Cli::ARTIFACT_PATTERN, Helpers::Cli::ENV_KEY_PATTERN, Helpers::Cli::ID_PATTERN

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Runners::Hunts

#hunt_results, #launch_hunt, #list_hunts

Methods included from Runners::Collections

#cancel_flow, #collect_artifact, #collect_artifact_and_wait, #flow_results

Methods included from Runners::Query

#query, #search_clients, #server_info

Methods included from Helpers::Cli

#dict_from_env_keys, #normalize_env, #parse_output, #run_command, #run_vql, #validate_artifact!, #validate_id!, #velociraptor_query_command, #vql_list, #vql_string

Constructor Details

#initialize(api_config: nil, binary: nil, timeout: nil, **extra) ⇒ Client

Returns a new instance of Client.



19
20
21
22
23
24
25
26
# File 'lib/legion/extensions/velociraptor/client.rb', line 19

def initialize(api_config: nil, binary: nil, timeout: nil, **extra)
  @opts = {
    api_config: api_config || ENV.fetch('VELOCIRAPTOR_API_CONFIG', nil),
    binary:     binary || ENV.fetch('VELOCIRAPTOR_BIN', 'velociraptor'),
    timeout:    timeout,
    **extra
  }
end

Instance Attribute Details

#optsObject (readonly)

Returns the value of attribute opts.



17
18
19
# File 'lib/legion/extensions/velociraptor/client.rb', line 17

def opts
  @opts
end

Instance Method Details

#settingsObject



28
29
30
# File 'lib/legion/extensions/velociraptor/client.rb', line 28

def settings
  { options: @opts }
end