%%%--------------------------------------------------------------------------- %% @doc erllambda - AWS Lambda for Erlang Interface %% %% %% @copyright 2018 Alert Logic, Inc. %%%--------------------------------------------------------------------------- -ifndef(__ERLLAMBDA_HRL__). -define(__ERLLAMBDA_HRL__, 1). %%****************************************************************************** %% Type Definitions %%****************************************************************************** -export_type([region/0, environ/0]). -type region() :: binary(). -type environ() :: binary(). -type accountid() :: binary(). -type service() :: atom(). -type option() :: {services, [service()]} | erlcloud_aws:profile_option(). %%****************************************************************************** %% Macro Definitions %%****************************************************************************** -define(CACHE_NAME, erllambda_config_cache). -define(CACHE_GRACE_MSECS, (30 * 1000)). -define(CACHE_MSECS(EXPIRE_SECS), ((EXPIRE_SECS * 1000) - ?CACHE_GRACE_MSECS)). -define(DAY_MSECS, 86400000). -define(AWSEVICT_SECS, (application:get_env(erllambda, default_role_evict_sec, 60))). -define(AWSEVICT_MSECS, (?AWSEVICT_SECS * 1000)). -define(LOG(Msg), erllambda:message("~p:~p ~s", [?MODULE, ?LINE, Msg])). -define(LOG(Fmt, Args), erllambda:message("~p:~p " ++ Fmt, [?MODULE, ?LINE | Args])). -endif.