Current section
Files
Jump to
Current section
Files
lib/ex_aws/iam/user.ex
defmodule ExAws.IAM.User do
@moduledoc """
A struct that represents an IAM user.
"""
@enforce_keys ~w[
arn
create_date
user_name
user_id
]a
defstruct arn: nil, create_date: nil, path: "/", user_name: nil, user_id: nil
@type t :: %ExAws.IAM.User{
arn: String.t(),
create_date: String.t(),
path: String.t(),
user_id: String.t(),
user_name: String.t()
}
@doc """
Returns a struct representation of an IAM User.
"""
def new(%{get_user_result: %{user: user}}), do: to_struct(user)
def new(%{create_user_result: %{user: user}}), do: to_struct(user)
def new(%{list_users_result: %{users: users}}) do
Enum.map(users, fn user ->
to_struct(user)
end)
end
defp to_struct(user) do
%ExAws.IAM.User{
arn: user[:arn],
create_date: user[:create_date],
path: user[:path],
user_name: user[:user_name],
user_id: user[:user_id]
}
end
end