AWS SDK for JavaScript Workmail Client for Node.js, Browser and React Native
npm install @aws-sdk/client-workmailAWS SDK for JavaScript WorkMail Client for Node.js, Browser and React Native.
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.
npm install @aws-sdk/client-workmailyarn add @aws-sdk/client-workmailpnpm add @aws-sdk/client-workmailThe AWS SDK is modulized by clients and commands.
To send a request, you only need to import the WorkMailClient and
the commands you need, for example ListGroupsCommand:
``js`
// ES5 example
const { WorkMailClient, ListGroupsCommand } = require("@aws-sdk/client-workmail");
`ts`
// ES6+ example
import { WorkMailClient, ListGroupsCommand } from "@aws-sdk/client-workmail";
To send a request, you:
- Initiate client with configuration (e.g. credentials, region).
- Initiate command with input parameters.
- Call send operation on client with command object as input.destroy()
- If you are using a custom http handler, you may call to close open connections.
`js
// a client can be shared by different commands.
const client = new WorkMailClient({ region: "REGION" });
const params = { /* input parameters / };
const command = new ListGroupsCommand(params);
`
#### Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
`js`
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
Async-await is clean, concise, intuitive, easy to debug and has better error handling
as compared to using Promise chains or callbacks.
#### Promises
You can also use Promise chaining
to execute send operation.
`js`
client.send(command).then(
(data) => {
// process data.
},
(error) => {
// error handling.
}
);
Promises can also be called using .catch() and .finally() as follows:
`js`
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
#### Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
`js`
// callbacks.
client.send(command, (err, data) => {
// process err and data.
});
#### v2 compatible style
The client can also send requests using v2 compatible style.
However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
on modular packages in AWS SDK for JavaScript
`ts
import * as AWS from "@aws-sdk/client-workmail";
const client = new AWS.WorkMail({ region: "REGION" });
// async/await.
try {
const data = await client.listGroups(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listGroups(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks.
client.listGroups(params, (err, data) => {
// process err and data.
});
`
When the service returns an exception, the error will include the exception information,
as well as response metadata (e.g. request id).
`js`
try {
const data = await client.send(command);
// process data.
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
/**
* The keys within exceptions are also parsed.
* You can access them by specifying exception names:
* if (error.name === 'SomeServiceException') {
* const value = error.specialKeyInException;
* }
*/
}
Please use these community resources for getting help.
We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
- Visit Developer Guide
or API Reference.
- Check out the blog posts tagged with aws-sdk-js
on AWS Developer Blog.
- Ask a question on StackOverflow and tag it with aws-sdk-js.
- Join the AWS JavaScript community on gitter.
- If it turns out that you may have found a bug, please open an issue.
To test your universal JavaScript code in Node.js, browser and react-native environments,
visit our code samples repo.
This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-workmail` package is updated.
To contribute to client you can check our generate clients scripts.
This SDK is distributed under the
Apache License, Version 2.0,
see LICENSE for more information.
AssociateDelegateToResource
Command API Reference / Input / Output
AssociateMemberToGroup
Command API Reference / Input / Output
AssumeImpersonationRole
Command API Reference / Input / Output
CancelMailboxExportJob
Command API Reference / Input / Output
CreateAlias
Command API Reference / Input / Output
CreateAvailabilityConfiguration
Command API Reference / Input / Output
CreateGroup
Command API Reference / Input / Output
CreateIdentityCenterApplication
Command API Reference / Input / Output
CreateImpersonationRole
Command API Reference / Input / Output
CreateMobileDeviceAccessRule
Command API Reference / Input / Output
CreateOrganization
Command API Reference / Input / Output
CreateResource
Command API Reference / Input / Output
CreateUser
Command API Reference / Input / Output
DeleteAccessControlRule
Command API Reference / Input / Output
DeleteAlias
Command API Reference / Input / Output
DeleteAvailabilityConfiguration
Command API Reference / Input / Output
DeleteEmailMonitoringConfiguration
Command API Reference / Input / Output
DeleteGroup
Command API Reference / Input / Output
DeleteIdentityCenterApplication
Command API Reference / Input / Output
DeleteIdentityProviderConfiguration
Command API Reference / Input / Output
DeleteImpersonationRole
Command API Reference / Input / Output
DeleteMailboxPermissions
Command API Reference / Input / Output
DeleteMobileDeviceAccessOverride
Command API Reference / Input / Output
DeleteMobileDeviceAccessRule
Command API Reference / Input / Output
DeleteOrganization
Command API Reference / Input / Output
DeletePersonalAccessToken
Command API Reference / Input / Output
DeleteResource
Command API Reference / Input / Output
DeleteRetentionPolicy
Command API Reference / Input / Output
DeleteUser
Command API Reference / Input / Output
DeregisterFromWorkMail
Command API Reference / Input / Output
DeregisterMailDomain
Command API Reference / Input / Output
DescribeEmailMonitoringConfiguration
Command API Reference / Input / Output
DescribeEntity
Command API Reference / Input / Output
DescribeGroup
Command API Reference / Input / Output
DescribeIdentityProviderConfiguration
Command API Reference / Input / Output
DescribeInboundDmarcSettings
Command API Reference / Input / Output
DescribeMailboxExportJob
Command API Reference / Input / Output
DescribeOrganization
Command API Reference / Input / Output
DescribeResource
Command API Reference / Input / Output
DescribeUser
Command API Reference / Input / Output
DisassociateDelegateFromResource
Command API Reference / Input / Output
DisassociateMemberFromGroup
Command API Reference / Input / Output
GetAccessControlEffect
Command API Reference / Input / Output
GetDefaultRetentionPolicy
Command API Reference / Input / Output
GetImpersonationRole
Command API Reference / Input / Output
GetImpersonationRoleEffect
Command API Reference / Input / Output
GetMailboxDetails
Command API Reference / Input / Output
GetMailDomain
Command API Reference / Input / Output
GetMobileDeviceAccessEffect
Command API Reference / Input / Output
GetMobileDeviceAccessOverride
Command API Reference / Input / Output
GetPersonalAccessTokenMetadata
Command API Reference / Input / Output
ListAccessControlRules
Command API Reference / Input / Output
ListAliases
Command API Reference / Input / Output
ListAvailabilityConfigurations
Command API Reference / Input / Output
ListGroupMembers
Command API Reference / Input / Output
ListGroups
Command API Reference / Input / Output
ListGroupsForEntity
Command API Reference / Input / Output
ListImpersonationRoles
Command API Reference / Input / Output
ListMailboxExportJobs
Command API Reference / Input / Output
ListMailboxPermissions
Command API Reference / Input / Output
ListMailDomains
Command API Reference / Input / Output
ListMobileDeviceAccessOverrides
Command API Reference / Input / Output
ListMobileDeviceAccessRules
Command API Reference / Input / Output
ListOrganizations
Command API Reference / Input / Output
ListPersonalAccessTokens
Command API Reference / Input / Output
ListResourceDelegates
Command API Reference / Input / Output
ListResources
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
ListUsers
Command API Reference / Input / Output
PutAccessControlRule
Command API Reference / Input / Output
PutEmailMonitoringConfiguration
Command API Reference / Input / Output
PutIdentityProviderConfiguration
Command API Reference / Input / Output
PutInboundDmarcSettings
Command API Reference / Input / Output
PutMailboxPermissions
Command API Reference / Input / Output
PutMobileDeviceAccessOverride
Command API Reference / Input / Output
PutRetentionPolicy
Command API Reference / Input / Output
RegisterMailDomain
Command API Reference / Input / Output
RegisterToWorkMail
Command API Reference / Input / Output
ResetPassword
Command API Reference / Input / Output
StartMailboxExportJob
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
TestAvailabilityConfiguration
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateAvailabilityConfiguration
Command API Reference / Input / Output
UpdateDefaultMailDomain
Command API Reference / Input / Output
UpdateGroup
Command API Reference / Input / Output
UpdateImpersonationRole
Command API Reference / Input / Output
UpdateMailboxQuota
Command API Reference / Input / Output
UpdateMobileDeviceAccessRule
Command API Reference / Input / Output
UpdatePrimaryEmailAddress
Command API Reference / Input / Output
UpdateResource
Command API Reference / Input / Output
UpdateUser