anchor.diff:  }) ->
       AtmWorkflowExecutionLogger = atm_workflow_execution_ctx:get_logger(AtmWorkflowExecutionCtx),
       atm_workflow_execution_logger:workflow_info(
  -        "Function '~ts' ready to use in OpenFaaS", [FunctionName], AtmWorkflowExecutionLogger
  +        "Function '~ts' ready to use in OpenFaaS.", [FunctionName], AtmWorkflowExecutionLogger
       ).
   
   
  
positive.code: 
  
  %% @private
  -spec remove_function(record()) -> ok | no_return().
  remove_function(#atm_openfaas_task_executor{function_name = FunctionName}) ->
      OpenfaasConfig = get_openfaas_config(),
  
      Endpoint = get_openfaas_endpoint(OpenfaasConfig, <<"/system/functions">>),
      AuthHeaders = get_basic_auth_header(OpenfaasConfig),
      Payload = json_utils:encode(#{<<"functionName">> => FunctionName}),
  
      % TODO VFS-8273 log warning in audit log if function removal failed
      http_client:delete(Endpoint, AuthHeaders, Payload),
      ok.
  
  
  %% @private
  
negative.code:     % in case of lane run retry functions registered in OpenFaaS service are not removed
      % as they will be reused by retry
      ok;
  teardown(AtmLaneExecutionRunTeardownCtx, AtmTaskExecutor) ->
      remove_function(AtmLaneExecutionRunTeardownCtx, AtmTaskExecutor).
  
  
  -spec delete(record()) -> ok | no_return().
  