class TCellAgent::PoliciesManager

Attributes

policies[RW]

Public Class Methods

new(native_agent) click to toggle source
# File lib/tcell_agent/policies/policies_manager.rb, line 32
def initialize(native_agent)
  @native_agent = native_agent
  @policies = {}

  enablements = {}
  RUST_POLICY_CLASSES.each do |policy_class|
    @policies[policy_class.api_identifier] = policy_class.new(
      @native_agent, enablements
    )
  end

  set_dataloss_policy({ 'dlp' => {} })
end

Public Instance Methods

process_policy_json(enablements, policies_json) click to toggle source
# File lib/tcell_agent/policies/policies_manager.rb, line 57
def process_policy_json(enablements, policies_json)
  return if enablements.nil? || enablements == {}

  RUST_POLICY_CLASSES.each do |policy_class|
    @policies[policy_class.api_identifier] = policy_class.new(
      @native_agent, enablements
    )
  end

  set_dataloss_policy(policies_json)
end
set_dataloss_policy(policies_json) click to toggle source
# File lib/tcell_agent/policies/policies_manager.rb, line 46
def set_dataloss_policy(policies_json)
  TCellAgent::Instrumentation.safe_block('Setting DLP policy') do
    dlp_api_identifier = TCellAgent::Policies::DataLossPolicy.api_identifier
    return unless policies_json.key?(dlp_api_identifier)

    @policies[dlp_api_identifier] = TCellAgent::Policies::DataLossPolicy.new(
      policies_json[dlp_api_identifier]
    )
  end
end