WorkMail class

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.

Constructors

WorkMail({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

associateDelegateToResource({required String entityId, required String organizationId, required String resourceId}) Future<void>
Adds a member (user or group) to the resource's set of delegates.
associateMemberToGroup({required String groupId, required String memberId, required String organizationId}) Future<void>
Adds a member (user or group) to the group's set.
cancelMailboxExportJob({required String jobId, required String organizationId, String? clientToken}) Future<void>
Cancels a mailbox export job.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createAlias({required String alias, required String entityId, required String organizationId}) Future<void>
Adds an alias to the set of a given member (user or group) of Amazon WorkMail.
createGroup({required String name, required String organizationId}) Future<CreateGroupResponse>
Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
createOrganization({required String alias, String? clientToken, String? directoryId, List<Domain>? domains, bool? enableInteroperability, String? kmsKeyArn}) Future<CreateOrganizationResponse>
Creates a new Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new Amazon WorkMail directory for you. For more information, see Adding an organization in the Amazon WorkMail Administrator Guide.
createResource({required String name, required String organizationId, required ResourceType type}) Future<CreateResourceResponse>
Creates a new Amazon WorkMail resource.
createUser({required String displayName, required String name, required String organizationId, required String password}) Future<CreateUserResponse>
Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
deleteAccessControlRule({required String name, required String organizationId}) Future<void>
Deletes an access control rule for the specified WorkMail organization.
deleteAlias({required String alias, required String entityId, required String organizationId}) Future<void>
Remove one or more specified aliases from a set of aliases for a given user.
deleteGroup({required String groupId, required String organizationId}) Future<void>
Deletes a group from Amazon WorkMail.
deleteMailboxPermissions({required String entityId, required String granteeId, required String organizationId}) Future<void>
Deletes permissions granted to a member (user or group).
deleteOrganization({required bool deleteDirectory, required String organizationId, String? clientToken}) Future<DeleteOrganizationResponse>
Deletes an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the Amazon WorkMail Administrator Guide.
deleteResource({required String organizationId, required String resourceId}) Future<void>
Deletes the specified resource.
deleteRetentionPolicy({required String id, required String organizationId}) Future<void>
Deletes the specified retention policy from the specified organization.
deleteUser({required String organizationId, required String userId}) Future<void>
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.
deregisterFromWorkMail({required String entityId, required String organizationId}) Future<void>
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({required String groupId, required String organizationId}) Future<DescribeGroupResponse>
Returns the data available for the group.
describeMailboxExportJob({required String jobId, required String organizationId}) Future<DescribeMailboxExportJobResponse>
Describes the current status of a mailbox export job.
describeOrganization({required String organizationId}) Future<DescribeOrganizationResponse>
Provides more information regarding a given organization based on its identifier.
describeResource({required String organizationId, required String resourceId}) Future<DescribeResourceResponse>
Returns the data available for the resource.
describeUser({required String organizationId, required String userId}) Future<DescribeUserResponse>
Provides information regarding the user.
disassociateDelegateFromResource({required String entityId, required String organizationId, required String resourceId}) Future<void>
Removes a member from the resource's set of delegates.
disassociateMemberFromGroup({required String groupId, required String memberId, required String organizationId}) Future<void>
Removes a member from a group.
getAccessControlEffect({required String action, required String ipAddress, required String organizationId, required String userId}) Future<GetAccessControlEffectResponse>
Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, or user ID.
getDefaultRetentionPolicy({required String organizationId}) Future<GetDefaultRetentionPolicyResponse>
Gets the default retention policy details for the specified organization.
getMailboxDetails({required String organizationId, required String userId}) Future<GetMailboxDetailsResponse>
Requests a user's mailbox details for a specified organization and user.
listAccessControlRules({required String organizationId}) Future<ListAccessControlRulesResponse>
Lists the access control rules for the specified organization.
listAliases({required String entityId, required String organizationId, int? maxResults, String? nextToken}) Future<ListAliasesResponse>
Creates a paginated call to list the aliases associated with a given entity.
listGroupMembers({required String groupId, required String organizationId, int? maxResults, String? nextToken}) Future<ListGroupMembersResponse>
Returns an overview of the members of a group. Users and groups can be members of a group.
listGroups({required String organizationId, int? maxResults, String? nextToken}) Future<ListGroupsResponse>
Returns summaries of the organization's groups.
listMailboxExportJobs({required String organizationId, int? maxResults, String? nextToken}) Future<ListMailboxExportJobsResponse>
Lists the mailbox export jobs started for the specified organization within the last seven days.
listMailboxPermissions({required String entityId, required String organizationId, int? maxResults, String? nextToken}) Future<ListMailboxPermissionsResponse>
Lists the mailbox permissions associated with a user, group, or resource mailbox.
listOrganizations({int? maxResults, String? nextToken}) Future<ListOrganizationsResponse>
Returns summaries of the customer's organizations.
listResourceDelegates({required String organizationId, required String resourceId, int? maxResults, String? nextToken}) Future<ListResourceDelegatesResponse>
Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.
listResources({required String organizationId, int? maxResults, String? nextToken}) Future<ListResourcesResponse>
Returns summaries of the organization's resources.
listTagsForResource({required String resourceARN}) Future<ListTagsForResourceResponse>
Lists the tags applied to an Amazon WorkMail organization resource.
listUsers({required String organizationId, int? maxResults, String? nextToken}) Future<ListUsersResponse>
Returns summaries of the organization's users.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putAccessControlRule({required String description, required AccessControlRuleEffect effect, required String name, required String organizationId, List<String>? actions, List<String>? ipRanges, List<String>? notActions, List<String>? notIpRanges, List<String>? notUserIds, List<String>? userIds}) Future<void>
Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, and user IDs. Adding a new rule with the same name as an existing rule replaces the older rule.
putMailboxPermissions({required String entityId, required String granteeId, required String organizationId, required List<PermissionType> permissionValues}) Future<void>
Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
putRetentionPolicy({required List<FolderConfiguration> folderConfigurations, required String name, required String organizationId, String? description, String? id}) Future<void>
Puts a retention policy to the specified organization.
registerToWorkMail({required String email, required String entityId, required String organizationId}) Future<void>
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. The equivalent console functionality for this operation is Enable.
resetPassword({required String organizationId, required String password, required String userId}) Future<void>
Allows the administrator to reset the password for a user.
startMailboxExportJob({required String entityId, required String kmsKeyArn, required String organizationId, required String roleArn, required String s3BucketName, required String s3Prefix, String? clientToken, String? description}) Future<StartMailboxExportJobResponse>
Starts a mailbox export job to export MIME-format email messages and calendar items from the specified mailbox to the specified Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Exporting mailbox content in the Amazon WorkMail Administrator Guide.
tagResource({required String resourceARN, required List<Tag> tags}) Future<void>
Applies the specified tags to the specified Amazon WorkMail organization resource.
toString() String
A string representation of this object.
inherited
untagResource({required String resourceARN, required List<String> tagKeys}) Future<void>
Untags the specified tags from the specified Amazon WorkMail organization resource.
updateMailboxQuota({required int mailboxQuota, required String organizationId, required String userId}) Future<void>
Updates a user's current mailbox quota for a specified organization and user.
updatePrimaryEmailAddress({required String email, required String entityId, required String organizationId}) Future<void>
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({required String organizationId, required String resourceId, BookingOptions? bookingOptions, String? name}) Future<void>
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.

Operators

operator ==(Object other) bool
The equality operator.
inherited