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 their native iOS and Android email applications. You can integrate Amazon 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 Amazon WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All Amazon WorkMail API actions are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkMail site, the IAM user gains full administrative visibility into the entire Amazon 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 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 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 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. The available types are equipment and room.

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 the alias 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 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. The action can't be undone. The mailbox is kept as-is for a minimum of 30 days, without any means to restore it.

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. Amazon 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.

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.

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 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 or group. This replaces any pre-existing permissions set for the entity.

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/entity for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the entity is enabled and fails if the entity is deleted. This operation results in the accumulation of costs. For more information, see Pricing (http://aws.amazon.com/workmail/pricing). The equivalent console functionality for this operation is Enable. Users can either be created by calling the CreateUser API 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.

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 an entity. 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. It must be preceded by a describe call in order to have the latest information. The dataset in the request should be the one expected when performing another describe 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