defmodule AwsClientUploaderEx.S3Config do @moduledoc """ module that handles the config settings for the aws s3 signing functions """ def aws_config do %{ scheme: scheme(), host: host(), region: region(), access_key_id: aws_access_key_id(), secret_access_key: aws_secret_key() } end def bucket_url, do: "https://#{host()}/#{bucket()}/#{bucket_divider}" def region do {:ok, aws_region} = Confex.fetch_env(:aws_client_uploader_ex, :aws_region) aws_region end def scheme do {:ok, aws_scheme} = Confex.fetch_env(:aws_client_uploader_ex, :aws_scheme) aws_scheme end def host do {:ok, aws_host} = Confex.fetch_env(:aws_client_uploader_ex, :aws_host) aws_host end def bucket do {:ok, aws_bucket} = Confex.fetch_env(:aws_client_uploader_ex, :aws_bucket) aws_bucket end def bucket_divider do {:ok, aws_bucket_divider} = Confex.fetch_env(:aws_client_uploader_ex, :aws_bucket_divider) aws_bucket_divider end def aws_access_key_id do {:ok, access_key} = Confex.fetch_env(:aws_client_uploader_ex, :aws_access_key_id) access_key end def aws_secret_key do {:ok, access_secret} = Confex.fetch_env(:aws_client_uploader_ex, :aws_secret_access_key) access_secret end end