# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.Identitystore do
@moduledoc """
The Identity Store service used by IAM Identity Center provides a single place
to retrieve all of
your identities (users and groups).
For more information, see the [IAM Identity Center User Guide](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).
This reference guide describes the identity store operations that you can call
programmatically and includes detailed information about data types and errors.
IAM Identity Center uses the `sso` and `identitystore` API namespaces.
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
get_group_id_request() :: %{
required("AlternateIdentifier") => list(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type get_group_id_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
external_id() :: %{
"Id" => String.t() | atom(),
"Issuer" => String.t() | atom()
}
"""
@type external_id() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
name() :: %{
"FamilyName" => String.t() | atom(),
"Formatted" => String.t() | atom(),
"GivenName" => String.t() | atom(),
"HonorificPrefix" => String.t() | atom(),
"HonorificSuffix" => String.t() | atom(),
"MiddleName" => String.t() | atom()
}
"""
@type name() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_group_membership_id_response() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("MembershipId") => String.t() | atom()
}
"""
@type get_group_membership_id_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_user_response() :: %{}
"""
@type update_user_response() :: %{}
@typedoc """
## Example:
unique_attribute() :: %{
"AttributePath" => String.t() | atom(),
"AttributeValue" => any()
}
"""
@type unique_attribute() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_group_memberships_for_member_response() :: %{
optional("NextToken") => String.t() | atom(),
required("GroupMemberships") => list(group_membership())
}
"""
@type list_group_memberships_for_member_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
phone_number() :: %{
"Primary" => boolean(),
"Type" => String.t() | atom(),
"Value" => String.t() | atom()
}
"""
@type phone_number() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
email() :: %{
"Primary" => boolean(),
"Type" => String.t() | atom(),
"Value" => String.t() | atom()
}
"""
@type email() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
is_member_in_groups_request() :: %{
required("GroupIds") => list(String.t() | atom()),
required("IdentityStoreId") => String.t() | atom(),
required("MemberId") => list()
}
"""
@type is_member_in_groups_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_group_request() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("Operations") => list(attribute_operation())
}
"""
@type update_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_group_membership_id_request() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("MemberId") => list()
}
"""
@type get_group_membership_id_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
conflict_exception() :: %{
"Message" => String.t() | atom(),
"Reason" => String.t() | atom(),
"RequestId" => String.t() | atom()
}
"""
@type conflict_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_not_found_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom(),
"ResourceId" => String.t() | atom(),
"ResourceType" => String.t() | atom()
}
"""
@type resource_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
service_quota_exceeded_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom()
}
"""
@type service_quota_exceeded_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_users_response() :: %{
optional("NextToken") => String.t() | atom(),
required("Users") => list(user())
}
"""
@type list_users_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_group_memberships_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type list_group_memberships_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_group_request() :: %{
optional("Description") => String.t() | atom(),
optional("DisplayName") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type create_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
attribute_operation() :: %{
"AttributePath" => String.t() | atom(),
"AttributeValue" => any()
}
"""
@type attribute_operation() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_group_membership_request() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("MemberId") => list()
}
"""
@type create_group_membership_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_group_membership_request() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("MembershipId") => String.t() | atom()
}
"""
@type describe_group_membership_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
is_member_in_groups_response() :: %{
required("Results") => list(group_membership_existence_result())
}
"""
@type is_member_in_groups_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_user_request() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("UserId") => String.t() | atom()
}
"""
@type delete_user_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
filter() :: %{
"AttributePath" => String.t() | atom(),
"AttributeValue" => String.t() | atom()
}
"""
@type filter() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
group_membership() :: %{
"GroupId" => String.t() | atom(),
"IdentityStoreId" => String.t() | atom(),
"MemberId" => list(),
"MembershipId" => String.t() | atom()
}
"""
@type group_membership() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_user_response() :: %{}
"""
@type delete_user_response() :: %{}
@typedoc """
## Example:
internal_server_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom(),
"RetryAfterSeconds" => integer()
}
"""
@type internal_server_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_user_response() :: %{
optional("Addresses") => list(address()),
optional("DisplayName") => String.t() | atom(),
optional("Emails") => list(email()),
optional("ExternalIds") => list(external_id()),
optional("Locale") => String.t() | atom(),
optional("Name") => name(),
optional("NickName") => String.t() | atom(),
optional("PhoneNumbers") => list(phone_number()),
optional("PreferredLanguage") => String.t() | atom(),
optional("ProfileUrl") => String.t() | atom(),
optional("Timezone") => String.t() | atom(),
optional("Title") => String.t() | atom(),
optional("UserName") => String.t() | atom(),
optional("UserType") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("UserId") => String.t() | atom()
}
"""
@type describe_user_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_group_membership_response() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("MemberId") => list(),
required("MembershipId") => String.t() | atom()
}
"""
@type describe_group_membership_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_group_membership_response() :: %{}
"""
@type delete_group_membership_response() :: %{}
@typedoc """
## Example:
delete_group_response() :: %{}
"""
@type delete_group_response() :: %{}
@typedoc """
## Example:
access_denied_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom()
}
"""
@type access_denied_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_user_request() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("UserId") => String.t() | atom()
}
"""
@type describe_user_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_user_request() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("Operations") => list(attribute_operation()),
required("UserId") => String.t() | atom()
}
"""
@type update_user_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
validation_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom()
}
"""
@type validation_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
group_membership_existence_result() :: %{
"GroupId" => String.t() | atom(),
"MemberId" => list(),
"MembershipExists" => boolean()
}
"""
@type group_membership_existence_result() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_group_membership_request() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("MembershipId") => String.t() | atom()
}
"""
@type delete_group_membership_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
throttling_exception() :: %{
"Message" => String.t() | atom(),
"RequestId" => String.t() | atom(),
"RetryAfterSeconds" => integer()
}
"""
@type throttling_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
group() :: %{
"Description" => String.t() | atom(),
"DisplayName" => String.t() | atom(),
"ExternalIds" => list(external_id()),
"GroupId" => String.t() | atom(),
"IdentityStoreId" => String.t() | atom()
}
"""
@type group() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
user() :: %{
"Addresses" => list(address()),
"DisplayName" => String.t() | atom(),
"Emails" => list(email()),
"ExternalIds" => list(external_id()),
"IdentityStoreId" => String.t() | atom(),
"Locale" => String.t() | atom(),
"Name" => name(),
"NickName" => String.t() | atom(),
"PhoneNumbers" => list(phone_number()),
"PreferredLanguage" => String.t() | atom(),
"ProfileUrl" => String.t() | atom(),
"Timezone" => String.t() | atom(),
"Title" => String.t() | atom(),
"UserId" => String.t() | atom(),
"UserName" => String.t() | atom(),
"UserType" => String.t() | atom()
}
"""
@type user() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_group_request() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type describe_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_group_request() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type delete_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_users_request() :: %{
optional("Filters") => list(filter()),
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type list_users_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_group_response() :: %{
optional("Description") => String.t() | atom(),
optional("DisplayName") => String.t() | atom(),
optional("ExternalIds") => list(external_id()),
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type describe_group_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_group_membership_response() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("MembershipId") => String.t() | atom()
}
"""
@type create_group_membership_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_user_id_response() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("UserId") => String.t() | atom()
}
"""
@type get_user_id_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_group_memberships_response() :: %{
optional("NextToken") => String.t() | atom(),
required("GroupMemberships") => list(group_membership())
}
"""
@type list_group_memberships_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_groups_response() :: %{
optional("NextToken") => String.t() | atom(),
required("Groups") => list(group())
}
"""
@type list_groups_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
address() :: %{
"Country" => String.t() | atom(),
"Formatted" => String.t() | atom(),
"Locality" => String.t() | atom(),
"PostalCode" => String.t() | atom(),
"Primary" => boolean(),
"Region" => String.t() | atom(),
"StreetAddress" => String.t() | atom(),
"Type" => String.t() | atom()
}
"""
@type address() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_groups_request() :: %{
optional("Filters") => list(filter()),
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type list_groups_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_user_id_request() :: %{
required("AlternateIdentifier") => list(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type get_user_id_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_group_id_response() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type get_group_id_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_user_response() :: %{
required("IdentityStoreId") => String.t() | atom(),
required("UserId") => String.t() | atom()
}
"""
@type create_user_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_group_response() :: %{}
"""
@type update_group_response() :: %{}
@typedoc """
## Example:
create_group_response() :: %{
required("GroupId") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type create_group_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_user_request() :: %{
optional("Addresses") => list(address()),
optional("DisplayName") => String.t() | atom(),
optional("Emails") => list(email()),
optional("Locale") => String.t() | atom(),
optional("Name") => name(),
optional("NickName") => String.t() | atom(),
optional("PhoneNumbers") => list(phone_number()),
optional("PreferredLanguage") => String.t() | atom(),
optional("ProfileUrl") => String.t() | atom(),
optional("Timezone") => String.t() | atom(),
optional("Title") => String.t() | atom(),
optional("UserName") => String.t() | atom(),
optional("UserType") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom()
}
"""
@type create_user_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_group_memberships_for_member_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
required("IdentityStoreId") => String.t() | atom(),
required("MemberId") => list()
}
"""
@type list_group_memberships_for_member_request() :: %{(String.t() | atom()) => any()}
@type create_group_errors() ::
validation_exception()
| service_quota_exceeded_exception()
| resource_not_found_exception()
| conflict_exception()
@type create_group_membership_errors() ::
validation_exception()
| service_quota_exceeded_exception()
| resource_not_found_exception()
| conflict_exception()
@type create_user_errors() ::
validation_exception()
| service_quota_exceeded_exception()
| resource_not_found_exception()
| conflict_exception()
@type delete_group_errors() ::
validation_exception() | resource_not_found_exception() | conflict_exception()
@type delete_group_membership_errors() ::
validation_exception() | resource_not_found_exception() | conflict_exception()
@type delete_user_errors() ::
validation_exception() | resource_not_found_exception() | conflict_exception()
@type describe_group_errors() :: validation_exception() | resource_not_found_exception()
@type describe_group_membership_errors() ::
validation_exception() | resource_not_found_exception()
@type describe_user_errors() :: validation_exception() | resource_not_found_exception()
@type get_group_id_errors() :: validation_exception() | resource_not_found_exception()
@type get_group_membership_id_errors() ::
validation_exception() | resource_not_found_exception()
@type get_user_id_errors() :: validation_exception() | resource_not_found_exception()
@type is_member_in_groups_errors() :: validation_exception() | resource_not_found_exception()
@type list_group_memberships_errors() :: validation_exception() | resource_not_found_exception()
@type list_group_memberships_for_member_errors() ::
validation_exception() | resource_not_found_exception()
@type list_groups_errors() :: validation_exception() | resource_not_found_exception()
@type list_users_errors() :: validation_exception() | resource_not_found_exception()
@type update_group_errors() ::
validation_exception()
| service_quota_exceeded_exception()
| resource_not_found_exception()
| conflict_exception()
@type update_user_errors() ::
validation_exception()
| service_quota_exceeded_exception()
| resource_not_found_exception()
| conflict_exception()
def metadata do
%{
api_version: "2020-06-15",
content_type: "application/x-amz-json-1.1",
credential_scope: nil,
endpoint_prefix: "identitystore",
global?: false,
hostname: nil,
protocol: "json",
service_id: "identitystore",
signature_version: "v4",
signing_name: "identitystore",
target_prefix: "AWSIdentityStore"
}
end
@doc """
Creates a group within the specified identity store.
"""
@spec create_group(map(), create_group_request(), list()) ::
{:ok, create_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_group_errors()}
def create_group(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "CreateGroup", input, options)
end
@doc """
Creates a relationship between a member and a group.
The following identifiers must be specified: `GroupId`, `IdentityStoreId`, and
`MemberId`.
"""
@spec create_group_membership(map(), create_group_membership_request(), list()) ::
{:ok, create_group_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_group_membership_errors()}
def create_group_membership(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "CreateGroupMembership", input, options)
end
@doc """
Creates a user within the specified identity store.
"""
@spec create_user(map(), create_user_request(), list()) ::
{:ok, create_user_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_user_errors()}
def create_user(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "CreateUser", input, options)
end
@doc """
Delete a group within an identity store given `GroupId`.
"""
@spec delete_group(map(), delete_group_request(), list()) ::
{:ok, delete_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_group_errors()}
def delete_group(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DeleteGroup", input, options)
end
@doc """
Delete a membership within a group given `MembershipId`.
"""
@spec delete_group_membership(map(), delete_group_membership_request(), list()) ::
{:ok, delete_group_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_group_membership_errors()}
def delete_group_membership(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DeleteGroupMembership", input, options)
end
@doc """
Deletes a user within an identity store given `UserId`.
"""
@spec delete_user(map(), delete_user_request(), list()) ::
{:ok, delete_user_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_user_errors()}
def delete_user(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DeleteUser", input, options)
end
@doc """
Retrieves the group metadata and attributes from `GroupId` in an identity
store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec describe_group(map(), describe_group_request(), list()) ::
{:ok, describe_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_group_errors()}
def describe_group(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DescribeGroup", input, options)
end
@doc """
Retrieves membership metadata and attributes from `MembershipId` in an identity
store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec describe_group_membership(map(), describe_group_membership_request(), list()) ::
{:ok, describe_group_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_group_membership_errors()}
def describe_group_membership(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DescribeGroupMembership", input, options)
end
@doc """
Retrieves the user metadata and attributes from the `UserId` in an identity
store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec describe_user(map(), describe_user_request(), list()) ::
{:ok, describe_user_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_user_errors()}
def describe_user(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "DescribeUser", input, options)
end
@doc """
Retrieves `GroupId` in an identity store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec get_group_id(map(), get_group_id_request(), list()) ::
{:ok, get_group_id_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_group_id_errors()}
def get_group_id(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "GetGroupId", input, options)
end
@doc """
Retrieves the `MembershipId` in an identity store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec get_group_membership_id(map(), get_group_membership_id_request(), list()) ::
{:ok, get_group_membership_id_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_group_membership_id_errors()}
def get_group_membership_id(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "GetGroupMembershipId", input, options)
end
@doc """
Retrieves the `UserId` in an identity store.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec get_user_id(map(), get_user_id_request(), list()) ::
{:ok, get_user_id_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_user_id_errors()}
def get_user_id(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "GetUserId", input, options)
end
@doc """
Checks the user's membership in all requested groups and returns if the member
exists in all queried groups.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec is_member_in_groups(map(), is_member_in_groups_request(), list()) ::
{:ok, is_member_in_groups_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, is_member_in_groups_errors()}
def is_member_in_groups(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "IsMemberInGroups", input, options)
end
@doc """
For the specified group in the specified identity store, returns the list of all
`GroupMembership` objects and returns results in paginated form.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec list_group_memberships(map(), list_group_memberships_request(), list()) ::
{:ok, list_group_memberships_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_group_memberships_errors()}
def list_group_memberships(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "ListGroupMemberships", input, options)
end
@doc """
For the specified member in the specified identity store, returns the list of
all `GroupMembership` objects and returns results in paginated form.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec list_group_memberships_for_member(
map(),
list_group_memberships_for_member_request(),
list()
) ::
{:ok, list_group_memberships_for_member_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_group_memberships_for_member_errors()}
def list_group_memberships_for_member(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "ListGroupMembershipsForMember", input, options)
end
@doc """
Lists all groups in the identity store.
Returns a paginated list of complete `Group` objects.
Filtering for a `Group` by the `DisplayName` attribute is deprecated. Instead,
use the `GetGroupId` API action.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec list_groups(map(), list_groups_request(), list()) ::
{:ok, list_groups_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_groups_errors()}
def list_groups(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "ListGroups", input, options)
end
@doc """
Lists all users in the identity store.
Returns a paginated list of complete `User` objects.
Filtering for a `User` by the `UserName` attribute is deprecated. Instead, use
the `GetUserId` API action.
If you have administrator access to a member account, you can use this API from
the member account.
Read about [member accounts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
in the
*Organizations User Guide*.
"""
@spec list_users(map(), list_users_request(), list()) ::
{:ok, list_users_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_users_errors()}
def list_users(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "ListUsers", input, options)
end
@doc """
For the specified group in the specified identity store, updates the group
metadata and attributes.
"""
@spec update_group(map(), update_group_request(), list()) ::
{:ok, update_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_group_errors()}
def update_group(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "UpdateGroup", input, options)
end
@doc """
For the specified user in the specified identity store, updates the user
metadata and attributes.
"""
@spec update_user(map(), update_user_request(), list()) ::
{:ok, update_user_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_user_errors()}
def update_user(%Client{} = client, input, options \\ []) do
meta = metadata()
Request.request_post(client, meta, "UpdateUser", input, options)
end
end