anchor.diff:      {ok, Value}.
   
   
  +get_unique_module_name() ->
  +    RandomPart = tts_utils:random_string(8),
  +    ModuleName = binary_to_atom(<< <<"tts_service_cmd_">>/binary, RandomPart/binary >>, utf8), 
  +    ensure_module_name_unused(code:is_loaded(ModuleName),ModuleName).
  +
  +ensure_module_name_unused(false,ModuleName) ->
  +    ModuleName;
  +ensure_module_name_unused(_,_) ->
  +    get_unique_module_name().
   
   
  +read_key(File) ->
  +    {ok, Text} = file:read_file(File),
  +    KeyList = public_key:pem_decode(Text),
  +    Key = ensure_valid_key(public_key:pem_entry_decode(KeyList)),
  +    {Key, Text}.
  +
  +
  +ensure_valid_key([PemKey]) ->
  +    ensure_valid_key(PemKey);
  +ensure_valid_key(#'RSAPrivateKey'{} = Key) ->
  +    Key;
  +ensure_valid_key(#'PrivateKeyInfo'{privateKey = Key}) ->
  +    ensure_valid_key(public_key:der_decode('RSAPrivateKey',Key));
  +ensure_valid_key([]) ->
  +    erlang:error(no_key_in_file);
  +ensure_valid_key(_) -> 
  +    erlang:error(unknown_key).
  +
  
positive.code:             AtomKey
      end.
  
  verify_value(cred_cmd_req_file,InFile) ->
      %load file
      BaseDir = ?CONFIG(service_config_path),
      % compile file to a module, store module name in config
      FileName = tts_file_util:to_abs(InFile,BaseDir),
      RandomPart = tts_utils:random_string(8),
      ModuleName = binary_to_atom(<< <<"tts_service_cmd_">>/binary, RandomPart/binary >>, utf8), 
      {ok, _} = erlydtl:compile_file(FileName, ModuleName),
      {ok, InFile, #{cmd_mod_req => ModuleName}}; 
  verify_value(AKey,Value) when is_list(Value) ->
  
negative.code:                     {<<"IncidentCmdFile">>,cred_cmd_si_file},
  
                      {<<"ssh">>,ssh},
                      {<<"local">>,local},
                      {<<"none">>,local},
  
                      {<<"undefined">>,undefined}
                     ]).
  