def validate_matching_agent_config!
agent_keys = EXPECTED_SECURITY_POLICIES
all_server_keys = @preconnect_policies.keys
required = 'required'
required_server_keys = @preconnect_policies.keys.select do |key|
key if @preconnect_policies[key][required]
end
missing_from_agent = required_server_keys - agent_keys
unless missing_from_agent.empty?
message = "The agent received one or more required security policies \
that it does not recognize and will shut down: #{missing_from_agent.join(',')}. \
Please check if a newer agent version supports these policies or contact support."
raise NewRelic::Agent::UnrecoverableAgentException.new(message)
end
missing_from_server = agent_keys - all_server_keys
unless missing_from_server.empty?
message = "The agent did not receive one or more security policies \
that it expected and will shut down: #{missing_from_server.join(',')}. Please \
contact support."
raise NewRelic::Agent::UnrecoverableAgentException.new(message)
end
end