The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::WorkMail - Perl Interface to AWS Amazon WorkMail

SYNOPSIS

  use Paws;

  my $obj = Paws->service('WorkMail');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01

METHODS

AssociateDelegateToResource

EntityId => Str
OrganizationId => Str
ResourceId => Str

Each argument is described in detail in: Paws::WorkMail::AssociateDelegateToResource

Returns: a Paws::WorkMail::AssociateDelegateToResourceResponse instance

Adds a member (user or group) to the resource's set of delegates.

AssociateMemberToGroup

GroupId => Str
MemberId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::AssociateMemberToGroup

Returns: a Paws::WorkMail::AssociateMemberToGroupResponse instance

Adds a member (user or group) to the group's set.

CreateAlias

Alias => Str
EntityId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::CreateAlias

Returns: a Paws::WorkMail::CreateAliasResponse instance

Adds an alias to the set of a given member (user or group) of Amazon WorkMail.

CreateGroup

Name => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::CreateGroup

Returns: a Paws::WorkMail::CreateGroupResponse instance

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

CreateResource

Name => Str
OrganizationId => Str
Type => Str

Each argument is described in detail in: Paws::WorkMail::CreateResource

Returns: a Paws::WorkMail::CreateResourceResponse instance

Creates a new Amazon WorkMail resource.

CreateUser

DisplayName => Str
Name => Str
OrganizationId => Str
Password => Str

Each argument is described in detail in: Paws::WorkMail::CreateUser

Returns: a Paws::WorkMail::CreateUserResponse instance

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

DeleteAlias

Alias => Str
EntityId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DeleteAlias

Returns: a Paws::WorkMail::DeleteAliasResponse instance

Remove one or more specified aliases from a set of aliases for a given user.

DeleteGroup

GroupId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DeleteGroup

Returns: a Paws::WorkMail::DeleteGroupResponse instance

Deletes a group from Amazon WorkMail.

DeleteMailboxPermissions

EntityId => Str
GranteeId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DeleteMailboxPermissions

Returns: a Paws::WorkMail::DeleteMailboxPermissionsResponse instance

Deletes permissions granted to a member (user or group).

DeleteResource

OrganizationId => Str
ResourceId => Str

Each argument is described in detail in: Paws::WorkMail::DeleteResource

Returns: a Paws::WorkMail::DeleteResourceResponse instance

Deletes the specified resource.

DeleteUser

OrganizationId => Str
UserId => Str

Each argument is described in detail in: Paws::WorkMail::DeleteUser

Returns: a Paws::WorkMail::DeleteUserResponse instance

Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state.

Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.

DeregisterFromWorkMail

EntityId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DeregisterFromWorkMail

Returns: a Paws::WorkMail::DeregisterFromWorkMailResponse instance

Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.

DescribeGroup

GroupId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DescribeGroup

Returns: a Paws::WorkMail::DescribeGroupResponse instance

Returns the data available for the group.

DescribeOrganization

OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DescribeOrganization

Returns: a Paws::WorkMail::DescribeOrganizationResponse instance

Provides more information regarding a given organization based on its identifier.

DescribeResource

OrganizationId => Str
ResourceId => Str

Each argument is described in detail in: Paws::WorkMail::DescribeResource

Returns: a Paws::WorkMail::DescribeResourceResponse instance

Returns the data available for the resource.

DescribeUser

OrganizationId => Str
UserId => Str

Each argument is described in detail in: Paws::WorkMail::DescribeUser

Returns: a Paws::WorkMail::DescribeUserResponse instance

Provides information regarding the user.

DisassociateDelegateFromResource

EntityId => Str
OrganizationId => Str
ResourceId => Str

Each argument is described in detail in: Paws::WorkMail::DisassociateDelegateFromResource

Returns: a Paws::WorkMail::DisassociateDelegateFromResourceResponse instance

Removes a member from the resource's set of delegates.

DisassociateMemberFromGroup

GroupId => Str
MemberId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::DisassociateMemberFromGroup

Returns: a Paws::WorkMail::DisassociateMemberFromGroupResponse instance

Removes a member from a group.

GetMailboxDetails

OrganizationId => Str
UserId => Str

Each argument is described in detail in: Paws::WorkMail::GetMailboxDetails

Returns: a Paws::WorkMail::GetMailboxDetailsResponse instance

Requests a user's mailbox details for a specified organization and user.

ListAliases

EntityId => Str
OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListAliases

Returns: a Paws::WorkMail::ListAliasesResponse instance

Creates a paginated call to list the aliases associated with a given entity.

ListGroupMembers

GroupId => Str
OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListGroupMembers

Returns: a Paws::WorkMail::ListGroupMembersResponse instance

Returns an overview of the members of a group. Users and groups can be members of a group.

ListGroups

OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListGroups

Returns: a Paws::WorkMail::ListGroupsResponse instance

Returns summaries of the organization's groups.

ListMailboxPermissions

EntityId => Str
OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListMailboxPermissions

Returns: a Paws::WorkMail::ListMailboxPermissionsResponse instance

Lists the mailbox permissions associated with a user, group, or resource mailbox.

ListOrganizations

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListOrganizations

Returns: a Paws::WorkMail::ListOrganizationsResponse instance

Returns summaries of the customer's non-deleted organizations.

ListResourceDelegates

OrganizationId => Str
ResourceId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListResourceDelegates

Returns: a Paws::WorkMail::ListResourceDelegatesResponse instance

Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

ListResources

OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListResources

Returns: a Paws::WorkMail::ListResourcesResponse instance

Returns summaries of the organization's resources.

ListUsers

OrganizationId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::WorkMail::ListUsers

Returns: a Paws::WorkMail::ListUsersResponse instance

Returns summaries of the organization's users.

PutMailboxPermissions

EntityId => Str
GranteeId => Str
OrganizationId => Str
PermissionValues => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::WorkMail::PutMailboxPermissions

Returns: a Paws::WorkMail::PutMailboxPermissionsResponse instance

Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.

RegisterToWorkMail

Email => Str
EntityId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::RegisterToWorkMail

Returns: a Paws::WorkMail::RegisterToWorkMailResponse instance

Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing (https://aws.amazon.com//workmail/pricing). The equivalent console functionality for this operation is Enable.

Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

ResetPassword

OrganizationId => Str
Password => Str
UserId => Str

Each argument is described in detail in: Paws::WorkMail::ResetPassword

Returns: a Paws::WorkMail::ResetPasswordResponse instance

Allows the administrator to reset the password for a user.

UpdateMailboxQuota

MailboxQuota => Int
OrganizationId => Str
UserId => Str

Each argument is described in detail in: Paws::WorkMail::UpdateMailboxQuota

Returns: a Paws::WorkMail::UpdateMailboxQuotaResponse instance

Updates a user's current mailbox quota for a specified organization and user.

UpdatePrimaryEmailAddress

Email => Str
EntityId => Str
OrganizationId => Str

Each argument is described in detail in: Paws::WorkMail::UpdatePrimaryEmailAddress

Returns: a Paws::WorkMail::UpdatePrimaryEmailAddressResponse instance

Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary.

UpdateResource

OrganizationId => Str
ResourceId => Str
[BookingOptions => Paws::WorkMail::BookingOptions]
[Name => Str]

Each argument is described in detail in: Paws::WorkMail::UpdateResource

Returns: a Paws::WorkMail::UpdateResourceResponse instance

Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllAliases(sub { },EntityId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllAliases(EntityId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Aliases, passing the object as the first parameter, and the string 'Aliases' as the second parameter 

If not, it will return a a Paws::WorkMail::ListAliasesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllGroupMembers(sub { },GroupId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllGroupMembers(GroupId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Members, passing the object as the first parameter, and the string 'Members' as the second parameter 

If not, it will return a a Paws::WorkMail::ListGroupMembersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllGroups(sub { },OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllGroups(OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Groups, passing the object as the first parameter, and the string 'Groups' as the second parameter 

If not, it will return a a Paws::WorkMail::ListGroupsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllMailboxPermissions(sub { },EntityId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllMailboxPermissions(EntityId => Str, OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Permissions, passing the object as the first parameter, and the string 'Permissions' as the second parameter 

If not, it will return a a Paws::WorkMail::ListMailboxPermissionsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllOrganizations(sub { },[MaxResults => Int, NextToken => Str])

ListAllOrganizations([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - OrganizationSummaries, passing the object as the first parameter, and the string 'OrganizationSummaries' as the second parameter 

If not, it will return a a Paws::WorkMail::ListOrganizationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllResourceDelegates(sub { },OrganizationId => Str, ResourceId => Str, [MaxResults => Int, NextToken => Str])

ListAllResourceDelegates(OrganizationId => Str, ResourceId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Delegates, passing the object as the first parameter, and the string 'Delegates' as the second parameter 

If not, it will return a a Paws::WorkMail::ListResourceDelegatesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllResources(sub { },OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllResources(OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Resources, passing the object as the first parameter, and the string 'Resources' as the second parameter 

If not, it will return a a Paws::WorkMail::ListResourcesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllUsers(sub { },OrganizationId => Str, [MaxResults => Int, NextToken => Str])

ListAllUsers(OrganizationId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Users, passing the object as the first parameter, and the string 'Users' as the second parameter 

If not, it will return a a Paws::WorkMail::ListUsersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues