com.amazonaws.services.workmail.AmazonWorkMail Maven / Gradle / Ivy
Show all versions of aws-java-sdk-workmail Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.workmail;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.workmail.model.*;
/**
* Interface for accessing Amazon WorkMail.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.workmail.AbstractAmazonWorkMail} instead.
*
*
*
* 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.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonWorkMail {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "workmail";
/**
*
* Adds a member (user or group) to the resource's set of delegates.
*
*
* @param associateDelegateToResourceRequest
* @return Result of the AssociateDelegateToResource operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.AssociateDelegateToResource
* @see AWS API Documentation
*/
AssociateDelegateToResourceResult associateDelegateToResource(AssociateDelegateToResourceRequest associateDelegateToResourceRequest);
/**
*
* Adds a member (user or group) to the group's set.
*
*
* @param associateMemberToGroupRequest
* @return Result of the AssociateMemberToGroup operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.AssociateMemberToGroup
* @see AWS API Documentation
*/
AssociateMemberToGroupResult associateMemberToGroup(AssociateMemberToGroupRequest associateMemberToGroupRequest);
/**
*
* Assumes an impersonation role for the given WorkMail organization. This method returns an authentication token
* you can use to make impersonated calls.
*
*
* @param assumeImpersonationRoleRequest
* @return Result of the AssumeImpersonationRole operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @sample AmazonWorkMail.AssumeImpersonationRole
* @see AWS API Documentation
*/
AssumeImpersonationRoleResult assumeImpersonationRole(AssumeImpersonationRoleRequest assumeImpersonationRoleRequest);
/**
*
* Cancels a mailbox export job.
*
*
*
* If the mailbox export job is near completion, it might not be possible to cancel it.
*
*
*
* @param cancelMailboxExportJobRequest
* @return Result of the CancelMailboxExportJob operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.CancelMailboxExportJob
* @see AWS API Documentation
*/
CancelMailboxExportJobResult cancelMailboxExportJob(CancelMailboxExportJobRequest cancelMailboxExportJobRequest);
/**
*
* Adds an alias to the set of a given member (user or group) of WorkMail.
*
*
* @param createAliasRequest
* @return Result of the CreateAlias operation returned by the service.
* @throws EmailAddressInUseException
* The email address that you're trying to assign is already created for a different user, group, or
* resource.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws MailDomainStateException
* After a domain has been added to the organization, it must be verified. The domain is not yet verified.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.CreateAlias
* @see AWS API
* Documentation
*/
CreateAliasResult createAlias(CreateAliasRequest createAliasRequest);
/**
*
* Creates an AvailabilityConfiguration
for the given WorkMail organization and domain.
*
*
* @param createAvailabilityConfigurationRequest
* @return Result of the CreateAvailabilityConfiguration operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.CreateAvailabilityConfiguration
* @see AWS API Documentation
*/
CreateAvailabilityConfigurationResult createAvailabilityConfiguration(CreateAvailabilityConfigurationRequest createAvailabilityConfigurationRequest);
/**
*
* Creates a group that can be used in WorkMail by calling the RegisterToWorkMail operation.
*
*
* @param createGroupRequest
* @return Result of the CreateGroup operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ReservedNameException
* This user, group, or resource name is not allowed in WorkMail.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.CreateGroup
* @see AWS API
* Documentation
*/
CreateGroupResult createGroup(CreateGroupRequest createGroupRequest);
/**
*
* Creates an impersonation role for the given WorkMail organization.
*
*
* Idempotency ensures that an API request completes no more than one time. With an idempotent request, if
* the original request completes successfully, any subsequent retries also complete successfully without performing
* any further actions.
*
*
* @param createImpersonationRoleRequest
* @return Result of the CreateImpersonationRole operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.CreateImpersonationRole
* @see AWS API Documentation
*/
CreateImpersonationRoleResult createImpersonationRole(CreateImpersonationRoleRequest createImpersonationRoleRequest);
/**
*
* Creates a new mobile device access rule for the specified WorkMail organization.
*
*
* @param createMobileDeviceAccessRuleRequest
* @return Result of the CreateMobileDeviceAccessRule operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.CreateMobileDeviceAccessRule
* @see AWS API Documentation
*/
CreateMobileDeviceAccessRuleResult createMobileDeviceAccessRule(CreateMobileDeviceAccessRuleRequest createMobileDeviceAccessRuleRequest);
/**
*
* Creates a new 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 WorkMail directory for you. For more information, see Adding an
* organization in the WorkMail Administrator Guide.
*
*
* You can associate multiple email domains with an organization, then choose your default email domain from the
* WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For
* more information, see Adding a
* domain and Choosing the
* default domain in the WorkMail Administrator Guide.
*
*
* Optionally, you can use a customer managed key from AWS Key Management Service (AWS KMS) to encrypt email for
* your organization. If you don't associate an AWS KMS key, WorkMail creates a default, AWS managed key for you.
*
*
* @param createOrganizationRequest
* @return Result of the CreateOrganization operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws DirectoryInUseException
* The directory is already in use by another WorkMail organization in the same account and Region.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @sample AmazonWorkMail.CreateOrganization
* @see AWS
* API Documentation
*/
CreateOrganizationResult createOrganization(CreateOrganizationRequest createOrganizationRequest);
/**
*
* Creates a new WorkMail resource.
*
*
* @param createResourceRequest
* @return Result of the CreateResource operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ReservedNameException
* This user, group, or resource name is not allowed in WorkMail.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.CreateResource
* @see AWS API
* Documentation
*/
CreateResourceResult createResource(CreateResourceRequest createResourceRequest);
/**
*
* Creates a user who can be used in WorkMail by calling the RegisterToWorkMail operation.
*
*
* @param createUserRequest
* @return Result of the CreateUser operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws InvalidPasswordException
* The supplied password doesn't match the minimum security constraints, such as length or use of special
* characters.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ReservedNameException
* This user, group, or resource name is not allowed in WorkMail.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.CreateUser
* @see AWS API
* Documentation
*/
CreateUserResult createUser(CreateUserRequest createUserRequest);
/**
*
* Deletes an access control rule for the specified WorkMail organization.
*
*
*
* Deleting already deleted and non-existing rules does not produce an error. In those cases, the service sends back
* an HTTP 200 response with an empty HTTP body.
*
*
*
* @param deleteAccessControlRuleRequest
* @return Result of the DeleteAccessControlRule operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteAccessControlRule
* @see AWS API Documentation
*/
DeleteAccessControlRuleResult deleteAccessControlRule(DeleteAccessControlRuleRequest deleteAccessControlRuleRequest);
/**
*
* Remove one or more specified aliases from a set of aliases for a given user.
*
*
* @param deleteAliasRequest
* @return Result of the DeleteAlias operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteAlias
* @see AWS API
* Documentation
*/
DeleteAliasResult deleteAlias(DeleteAliasRequest deleteAliasRequest);
/**
*
* Deletes the AvailabilityConfiguration
for the given WorkMail organization and domain.
*
*
* @param deleteAvailabilityConfigurationRequest
* @return Result of the DeleteAvailabilityConfiguration operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteAvailabilityConfiguration
* @see AWS API Documentation
*/
DeleteAvailabilityConfigurationResult deleteAvailabilityConfiguration(DeleteAvailabilityConfigurationRequest deleteAvailabilityConfigurationRequest);
/**
*
* Deletes the email monitoring configuration for a specified organization.
*
*
* @param deleteEmailMonitoringConfigurationRequest
* @return Result of the DeleteEmailMonitoringConfiguration operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteEmailMonitoringConfiguration
* @see AWS API Documentation
*/
DeleteEmailMonitoringConfigurationResult deleteEmailMonitoringConfiguration(
DeleteEmailMonitoringConfigurationRequest deleteEmailMonitoringConfigurationRequest);
/**
*
* Deletes a group from WorkMail.
*
*
* @param deleteGroupRequest
* @return Result of the DeleteGroup operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DeleteGroup
* @see AWS API
* Documentation
*/
DeleteGroupResult deleteGroup(DeleteGroupRequest deleteGroupRequest);
/**
*
* Deletes an impersonation role for the given WorkMail organization.
*
*
* @param deleteImpersonationRoleRequest
* @return Result of the DeleteImpersonationRole operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteImpersonationRole
* @see AWS API Documentation
*/
DeleteImpersonationRoleResult deleteImpersonationRole(DeleteImpersonationRoleRequest deleteImpersonationRoleRequest);
/**
*
* Deletes permissions granted to a member (user or group).
*
*
* @param deleteMailboxPermissionsRequest
* @return Result of the DeleteMailboxPermissions operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteMailboxPermissions
* @see AWS API Documentation
*/
DeleteMailboxPermissionsResult deleteMailboxPermissions(DeleteMailboxPermissionsRequest deleteMailboxPermissionsRequest);
/**
*
* Deletes the mobile device access override for the given WorkMail organization, user, and device.
*
*
*
* Deleting already deleted and non-existing overrides does not produce an error. In those cases, the service sends
* back an HTTP 200 response with an empty HTTP body.
*
*
*
* @param deleteMobileDeviceAccessOverrideRequest
* @return Result of the DeleteMobileDeviceAccessOverride operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.DeleteMobileDeviceAccessOverride
* @see AWS API Documentation
*/
DeleteMobileDeviceAccessOverrideResult deleteMobileDeviceAccessOverride(DeleteMobileDeviceAccessOverrideRequest deleteMobileDeviceAccessOverrideRequest);
/**
*
* Deletes a mobile device access rule for the specified WorkMail organization.
*
*
*
* Deleting already deleted and non-existing rules does not produce an error. In those cases, the service sends back
* an HTTP 200 response with an empty HTTP body.
*
*
*
* @param deleteMobileDeviceAccessRuleRequest
* @return Result of the DeleteMobileDeviceAccessRule operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteMobileDeviceAccessRule
* @see AWS API Documentation
*/
DeleteMobileDeviceAccessRuleResult deleteMobileDeviceAccessRule(DeleteMobileDeviceAccessRuleRequest deleteMobileDeviceAccessRuleRequest);
/**
*
* Deletes an WorkMail organization and all underlying AWS resources managed by WorkMail as part of the
* organization. You can choose whether to delete the associated directory. For more information, see Removing an
* organization in the WorkMail Administrator Guide.
*
*
* @param deleteOrganizationRequest
* @return Result of the DeleteOrganization operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteOrganization
* @see AWS
* API Documentation
*/
DeleteOrganizationResult deleteOrganization(DeleteOrganizationRequest deleteOrganizationRequest);
/**
*
* Deletes the specified resource.
*
*
* @param deleteResourceRequest
* @return Result of the DeleteResource operation returned by the service.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DeleteResource
* @see AWS API
* Documentation
*/
DeleteResourceResult deleteResource(DeleteResourceRequest deleteResourceRequest);
/**
*
* Deletes the specified retention policy from the specified organization.
*
*
* @param deleteRetentionPolicyRequest
* @return Result of the DeleteRetentionPolicy operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeleteRetentionPolicy
* @see AWS
* API Documentation
*/
DeleteRetentionPolicyResult deleteRetentionPolicy(DeleteRetentionPolicyRequest deleteRetentionPolicyRequest);
/**
*
* Deletes a user from 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.
*
*
* @param deleteUserRequest
* @return Result of the DeleteUser operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DeleteUser
* @see AWS API
* Documentation
*/
DeleteUserResult deleteUser(DeleteUserRequest deleteUserRequest);
/**
*
* Mark a user, group, or resource as no longer used in 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.
*
*
* @param deregisterFromWorkMailRequest
* @return Result of the DeregisterFromWorkMail operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DeregisterFromWorkMail
* @see AWS API Documentation
*/
DeregisterFromWorkMailResult deregisterFromWorkMail(DeregisterFromWorkMailRequest deregisterFromWorkMailRequest);
/**
*
* Removes a domain from WorkMail, stops email routing to WorkMail, and removes the authorization allowing WorkMail
* use. SES keeps the domain because other applications may use it. You must first remove any email address used by
* WorkMail entities before you remove the domain.
*
*
* @param deregisterMailDomainRequest
* @return Result of the DeregisterMailDomain operation returned by the service.
* @throws MailDomainInUseException
* The domain you're trying to change is in use by another user or organization in your account. See the
* error message for details.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws InvalidCustomSesConfigurationException
* You SES configuration has customizations that WorkMail cannot save. The error message lists the invalid
* setting. For examples of invalid settings, refer to CreateReceiptRule.
* @sample AmazonWorkMail.DeregisterMailDomain
* @see AWS
* API Documentation
*/
DeregisterMailDomainResult deregisterMailDomain(DeregisterMailDomainRequest deregisterMailDomainRequest);
/**
*
* Describes the current email monitoring configuration for a specified organization.
*
*
* @param describeEmailMonitoringConfigurationRequest
* @return Result of the DescribeEmailMonitoringConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DescribeEmailMonitoringConfiguration
* @see AWS API Documentation
*/
DescribeEmailMonitoringConfigurationResult describeEmailMonitoringConfiguration(
DescribeEmailMonitoringConfigurationRequest describeEmailMonitoringConfigurationRequest);
/**
*
* Returns basic details about an entity in WorkMail.
*
*
* @param describeEntityRequest
* @return Result of the DescribeEntity operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DescribeEntity
* @see AWS API
* Documentation
*/
DescribeEntityResult describeEntity(DescribeEntityRequest describeEntityRequest);
/**
*
* Returns the data available for the group.
*
*
* @param describeGroupRequest
* @return Result of the DescribeGroup operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DescribeGroup
* @see AWS API
* Documentation
*/
DescribeGroupResult describeGroup(DescribeGroupRequest describeGroupRequest);
/**
*
* Lists the settings in a DMARC policy for a specified organization.
*
*
* @param describeInboundDmarcSettingsRequest
* @return Result of the DescribeInboundDmarcSettings operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DescribeInboundDmarcSettings
* @see AWS API Documentation
*/
DescribeInboundDmarcSettingsResult describeInboundDmarcSettings(DescribeInboundDmarcSettingsRequest describeInboundDmarcSettingsRequest);
/**
*
* Describes the current status of a mailbox export job.
*
*
* @param describeMailboxExportJobRequest
* @return Result of the DescribeMailboxExportJob operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.DescribeMailboxExportJob
* @see AWS API Documentation
*/
DescribeMailboxExportJobResult describeMailboxExportJob(DescribeMailboxExportJobRequest describeMailboxExportJobRequest);
/**
*
* Provides more information regarding a given organization based on its identifier.
*
*
* @param describeOrganizationRequest
* @return Result of the DescribeOrganization operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @sample AmazonWorkMail.DescribeOrganization
* @see AWS
* API Documentation
*/
DescribeOrganizationResult describeOrganization(DescribeOrganizationRequest describeOrganizationRequest);
/**
*
* Returns the data available for the resource.
*
*
* @param describeResourceRequest
* @return Result of the DescribeResource operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DescribeResource
* @see AWS API
* Documentation
*/
DescribeResourceResult describeResource(DescribeResourceRequest describeResourceRequest);
/**
*
* Provides information regarding the user.
*
*
* @param describeUserRequest
* @return Result of the DescribeUser operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.DescribeUser
* @see AWS API
* Documentation
*/
DescribeUserResult describeUser(DescribeUserRequest describeUserRequest);
/**
*
* Removes a member from the resource's set of delegates.
*
*
* @param disassociateDelegateFromResourceRequest
* @return Result of the DisassociateDelegateFromResource operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DisassociateDelegateFromResource
* @see AWS API Documentation
*/
DisassociateDelegateFromResourceResult disassociateDelegateFromResource(DisassociateDelegateFromResourceRequest disassociateDelegateFromResourceRequest);
/**
*
* Removes a member from a group.
*
*
* @param disassociateMemberFromGroupRequest
* @return Result of the DisassociateMemberFromGroup operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.DisassociateMemberFromGroup
* @see AWS API Documentation
*/
DisassociateMemberFromGroupResult disassociateMemberFromGroup(DisassociateMemberFromGroupRequest disassociateMemberFromGroupRequest);
/**
*
* Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access
* protocol action, and user ID or impersonation role ID. You must provide either the user ID or impersonation role
* ID. Impersonation role ID can only be used with Action EWS.
*
*
* @param getAccessControlEffectRequest
* @return Result of the GetAccessControlEffect operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.GetAccessControlEffect
* @see AWS API Documentation
*/
GetAccessControlEffectResult getAccessControlEffect(GetAccessControlEffectRequest getAccessControlEffectRequest);
/**
*
* Gets the default retention policy details for the specified organization.
*
*
* @param getDefaultRetentionPolicyRequest
* @return Result of the GetDefaultRetentionPolicy operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.GetDefaultRetentionPolicy
* @see AWS API Documentation
*/
GetDefaultRetentionPolicyResult getDefaultRetentionPolicy(GetDefaultRetentionPolicyRequest getDefaultRetentionPolicyRequest);
/**
*
* Gets the impersonation role details for the given WorkMail organization.
*
*
* @param getImpersonationRoleRequest
* @return Result of the GetImpersonationRole operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @sample AmazonWorkMail.GetImpersonationRole
* @see AWS
* API Documentation
*/
GetImpersonationRoleResult getImpersonationRole(GetImpersonationRoleRequest getImpersonationRoleRequest);
/**
*
* Tests whether the given impersonation role can impersonate a target user.
*
*
* @param getImpersonationRoleEffectRequest
* @return Result of the GetImpersonationRoleEffect operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @sample AmazonWorkMail.GetImpersonationRoleEffect
* @see AWS API Documentation
*/
GetImpersonationRoleEffectResult getImpersonationRoleEffect(GetImpersonationRoleEffectRequest getImpersonationRoleEffectRequest);
/**
*
* Gets details for a mail domain, including domain records required to configure your domain with recommended
* security.
*
*
* @param getMailDomainRequest
* @return Result of the GetMailDomain operation returned by the service.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.GetMailDomain
* @see AWS API
* Documentation
*/
GetMailDomainResult getMailDomain(GetMailDomainRequest getMailDomainRequest);
/**
*
* Requests a user's mailbox details for a specified organization and user.
*
*
* @param getMailboxDetailsRequest
* @return Result of the GetMailboxDetails operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.GetMailboxDetails
* @see AWS API
* Documentation
*/
GetMailboxDetailsResult getMailboxDetails(GetMailboxDetailsRequest getMailboxDetailsRequest);
/**
*
* Simulates the effect of the mobile device access rules for the given attributes of a sample access event. Use
* this method to test the effects of the current set of mobile device access rules for the WorkMail organization
* for a particular user's attributes.
*
*
* @param getMobileDeviceAccessEffectRequest
* @return Result of the GetMobileDeviceAccessEffect operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.GetMobileDeviceAccessEffect
* @see AWS API Documentation
*/
GetMobileDeviceAccessEffectResult getMobileDeviceAccessEffect(GetMobileDeviceAccessEffectRequest getMobileDeviceAccessEffectRequest);
/**
*
* Gets the mobile device access override for the given WorkMail organization, user, and device.
*
*
* @param getMobileDeviceAccessOverrideRequest
* @return Result of the GetMobileDeviceAccessOverride operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @sample AmazonWorkMail.GetMobileDeviceAccessOverride
* @see AWS API Documentation
*/
GetMobileDeviceAccessOverrideResult getMobileDeviceAccessOverride(GetMobileDeviceAccessOverrideRequest getMobileDeviceAccessOverrideRequest);
/**
*
* Lists the access control rules for the specified organization.
*
*
* @param listAccessControlRulesRequest
* @return Result of the ListAccessControlRules operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListAccessControlRules
* @see AWS API Documentation
*/
ListAccessControlRulesResult listAccessControlRules(ListAccessControlRulesRequest listAccessControlRulesRequest);
/**
*
* Creates a paginated call to list the aliases associated with a given entity.
*
*
* @param listAliasesRequest
* @return Result of the ListAliases operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListAliases
* @see AWS API
* Documentation
*/
ListAliasesResult listAliases(ListAliasesRequest listAliasesRequest);
/**
*
* List all the AvailabilityConfiguration
's for the given WorkMail organization.
*
*
* @param listAvailabilityConfigurationsRequest
* @return Result of the ListAvailabilityConfigurations operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListAvailabilityConfigurations
* @see AWS API Documentation
*/
ListAvailabilityConfigurationsResult listAvailabilityConfigurations(ListAvailabilityConfigurationsRequest listAvailabilityConfigurationsRequest);
/**
*
* Returns an overview of the members of a group. Users and groups can be members of a group.
*
*
* @param listGroupMembersRequest
* @return Result of the ListGroupMembers operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListGroupMembers
* @see AWS API
* Documentation
*/
ListGroupMembersResult listGroupMembers(ListGroupMembersRequest listGroupMembersRequest);
/**
*
* Returns summaries of the organization's groups.
*
*
* @param listGroupsRequest
* @return Result of the ListGroups operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListGroups
* @see AWS API
* Documentation
*/
ListGroupsResult listGroups(ListGroupsRequest listGroupsRequest);
/**
*
* Returns all the groups to which an entity belongs.
*
*
* @param listGroupsForEntityRequest
* @return Result of the ListGroupsForEntity operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.ListGroupsForEntity
* @see AWS
* API Documentation
*/
ListGroupsForEntityResult listGroupsForEntity(ListGroupsForEntityRequest listGroupsForEntityRequest);
/**
*
* Lists all the impersonation roles for the given WorkMail organization.
*
*
* @param listImpersonationRolesRequest
* @return Result of the ListImpersonationRoles operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListImpersonationRoles
* @see AWS API Documentation
*/
ListImpersonationRolesResult listImpersonationRoles(ListImpersonationRolesRequest listImpersonationRolesRequest);
/**
*
* Lists the mail domains in a given WorkMail organization.
*
*
* @param listMailDomainsRequest
* @return Result of the ListMailDomains operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListMailDomains
* @see AWS API
* Documentation
*/
ListMailDomainsResult listMailDomains(ListMailDomainsRequest listMailDomainsRequest);
/**
*
* Lists the mailbox export jobs started for the specified organization within the last seven days.
*
*
* @param listMailboxExportJobsRequest
* @return Result of the ListMailboxExportJobs operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListMailboxExportJobs
* @see AWS
* API Documentation
*/
ListMailboxExportJobsResult listMailboxExportJobs(ListMailboxExportJobsRequest listMailboxExportJobsRequest);
/**
*
* Lists the mailbox permissions associated with a user, group, or resource mailbox.
*
*
* @param listMailboxPermissionsRequest
* @return Result of the ListMailboxPermissions operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListMailboxPermissions
* @see AWS API Documentation
*/
ListMailboxPermissionsResult listMailboxPermissions(ListMailboxPermissionsRequest listMailboxPermissionsRequest);
/**
*
* Lists all the mobile device access overrides for any given combination of WorkMail organization, user, or device.
*
*
* @param listMobileDeviceAccessOverridesRequest
* @return Result of the ListMobileDeviceAccessOverrides operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @sample AmazonWorkMail.ListMobileDeviceAccessOverrides
* @see AWS API Documentation
*/
ListMobileDeviceAccessOverridesResult listMobileDeviceAccessOverrides(ListMobileDeviceAccessOverridesRequest listMobileDeviceAccessOverridesRequest);
/**
*
* Lists the mobile device access rules for the specified WorkMail organization.
*
*
* @param listMobileDeviceAccessRulesRequest
* @return Result of the ListMobileDeviceAccessRules operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListMobileDeviceAccessRules
* @see AWS API Documentation
*/
ListMobileDeviceAccessRulesResult listMobileDeviceAccessRules(ListMobileDeviceAccessRulesRequest listMobileDeviceAccessRulesRequest);
/**
*
* Returns summaries of the customer's organizations.
*
*
* @param listOrganizationsRequest
* @return Result of the ListOrganizations operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.ListOrganizations
* @see AWS API
* Documentation
*/
ListOrganizationsResult listOrganizations(ListOrganizationsRequest listOrganizationsRequest);
/**
*
* Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on
* behalf of the resource.
*
*
* @param listResourceDelegatesRequest
* @return Result of the ListResourceDelegates operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.ListResourceDelegates
* @see AWS
* API Documentation
*/
ListResourceDelegatesResult listResourceDelegates(ListResourceDelegatesRequest listResourceDelegatesRequest);
/**
*
* Returns summaries of the organization's resources.
*
*
* @param listResourcesRequest
* @return Result of the ListResources operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.ListResources
* @see AWS API
* Documentation
*/
ListResourcesResult listResources(ListResourcesRequest listResourcesRequest);
/**
*
* Lists the tags applied to an WorkMail organization resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @sample AmazonWorkMail.ListTagsForResource
* @see AWS
* API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Returns summaries of the organization's users.
*
*
* @param listUsersRequest
* @return Result of the ListUsers operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.ListUsers
* @see AWS API
* Documentation
*/
ListUsersResult listUsers(ListUsersRequest listUsersRequest);
/**
*
* 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, user IDs and impersonation IDs. Adding a
* new rule with the same name as an existing rule replaces the older rule.
*
*
* @param putAccessControlRuleRequest
* @return Result of the PutAccessControlRule operation returned by the service.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.PutAccessControlRule
* @see AWS
* API Documentation
*/
PutAccessControlRuleResult putAccessControlRule(PutAccessControlRuleRequest putAccessControlRuleRequest);
/**
*
* Creates or updates the email monitoring configuration for a specified organization.
*
*
* @param putEmailMonitoringConfigurationRequest
* @return Result of the PutEmailMonitoringConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.PutEmailMonitoringConfiguration
* @see AWS API Documentation
*/
PutEmailMonitoringConfigurationResult putEmailMonitoringConfiguration(PutEmailMonitoringConfigurationRequest putEmailMonitoringConfigurationRequest);
/**
*
* Enables or disables a DMARC policy for a given organization.
*
*
* @param putInboundDmarcSettingsRequest
* @return Result of the PutInboundDmarcSettings operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.PutInboundDmarcSettings
* @see AWS API Documentation
*/
PutInboundDmarcSettingsResult putInboundDmarcSettings(PutInboundDmarcSettingsRequest putInboundDmarcSettingsRequest);
/**
*
* Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
*
*
* @param putMailboxPermissionsRequest
* @return Result of the PutMailboxPermissions operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.PutMailboxPermissions
* @see AWS
* API Documentation
*/
PutMailboxPermissionsResult putMailboxPermissions(PutMailboxPermissionsRequest putMailboxPermissionsRequest);
/**
*
* Creates or updates a mobile device access override for the given WorkMail organization, user, and device.
*
*
* @param putMobileDeviceAccessOverrideRequest
* @return Result of the PutMobileDeviceAccessOverride operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @sample AmazonWorkMail.PutMobileDeviceAccessOverride
* @see AWS API Documentation
*/
PutMobileDeviceAccessOverrideResult putMobileDeviceAccessOverride(PutMobileDeviceAccessOverrideRequest putMobileDeviceAccessOverrideRequest);
/**
*
* Puts a retention policy to the specified organization.
*
*
* @param putRetentionPolicyRequest
* @return Result of the PutRetentionPolicy operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.PutRetentionPolicy
* @see AWS
* API Documentation
*/
PutRetentionPolicyResult putRetentionPolicy(PutRetentionPolicyRequest putRetentionPolicyRequest);
/**
*
* Registers a new domain in WorkMail and SES, and configures it for use by WorkMail. Emails received by SES for
* this domain are routed to the specified WorkMail organization, and WorkMail has permanent permission to use the
* specified domain for sending your users' emails.
*
*
* @param registerMailDomainRequest
* @return Result of the RegisterMailDomain operation returned by the service.
* @throws MailDomainInUseException
* The domain you're trying to change is in use by another user or organization in your account. See the
* error message for details.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.RegisterMailDomain
* @see AWS
* API Documentation
*/
RegisterMailDomainResult registerMailDomain(RegisterMailDomainRequest registerMailDomainRequest);
/**
*
* Registers an existing and disabled user, group, or resource for 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.
*
*
* Users can either be created by calling the CreateUser API operation or they can be synchronized from your
* directory. For more information, see DeregisterFromWorkMail.
*
*
* @param registerToWorkMailRequest
* @return Result of the RegisterToWorkMail operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EmailAddressInUseException
* The email address that you're trying to assign is already created for a different user, group, or
* resource.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws EntityAlreadyRegisteredException
* The user, group, or resource that you're trying to register is already registered.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws MailDomainStateException
* After a domain has been added to the organization, it must be verified. The domain is not yet verified.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.RegisterToWorkMail
* @see AWS
* API Documentation
*/
RegisterToWorkMailResult registerToWorkMail(RegisterToWorkMailRequest registerToWorkMailRequest);
/**
*
* Allows the administrator to reset the password for a user.
*
*
* @param resetPasswordRequest
* @return Result of the ResetPassword operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws InvalidPasswordException
* The supplied password doesn't match the minimum security constraints, such as length or use of special
* characters.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.ResetPassword
* @see AWS API
* Documentation
*/
ResetPasswordResult resetPassword(ResetPasswordRequest resetPasswordRequest);
/**
*
* 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 WorkMail Administrator Guide.
*
*
* @param startMailboxExportJobRequest
* @return Result of the StartMailboxExportJob operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.StartMailboxExportJob
* @see AWS
* API Documentation
*/
StartMailboxExportJobResult startMailboxExportJob(StartMailboxExportJobRequest startMailboxExportJobRequest);
/**
*
* Applies the specified tags to the specified WorkMailorganization resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws TooManyTagsException
* The resource can have up to 50 user-applied tags.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Performs a test on an availability provider to ensure that access is allowed. For EWS, it verifies the provided
* credentials can be used to successfully log in. For Lambda, it verifies that the Lambda function can be invoked
* and that the resource access policy was configured to deny anonymous access. An anonymous invocation is one done
* without providing either a SourceArn
or SourceAccount
header.
*
*
*
* The request must contain either one provider definition (EwsProvider
or LambdaProvider
)
* or the DomainName
parameter. If the DomainName
parameter is provided, the configuration
* stored under the DomainName
will be tested.
*
*
*
* @param testAvailabilityConfigurationRequest
* @return Result of the TestAvailabilityConfiguration operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.TestAvailabilityConfiguration
* @see AWS API Documentation
*/
TestAvailabilityConfigurationResult testAvailabilityConfiguration(TestAvailabilityConfigurationRequest testAvailabilityConfigurationRequest);
/**
*
* Untags the specified tags from the specified WorkMail organization resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @sample AmazonWorkMail.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates an existing AvailabilityConfiguration
for the given WorkMail organization and domain.
*
*
* @param updateAvailabilityConfigurationRequest
* @return Result of the UpdateAvailabilityConfiguration operation returned by the service.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.UpdateAvailabilityConfiguration
* @see AWS API Documentation
*/
UpdateAvailabilityConfigurationResult updateAvailabilityConfiguration(UpdateAvailabilityConfigurationRequest updateAvailabilityConfigurationRequest);
/**
*
* Updates the default mail domain for an organization. The default mail domain is used by the WorkMail AWS Console
* to suggest an email address when enabling a mail user. You can only have one default domain.
*
*
* @param updateDefaultMailDomainRequest
* @return Result of the UpdateDefaultMailDomain operation returned by the service.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws MailDomainStateException
* After a domain has been added to the organization, it must be verified. The domain is not yet verified.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.UpdateDefaultMailDomain
* @see AWS API Documentation
*/
UpdateDefaultMailDomainResult updateDefaultMailDomain(UpdateDefaultMailDomainRequest updateDefaultMailDomainRequest);
/**
*
* Updates attibutes in a group.
*
*
* @param updateGroupRequest
* @return Result of the UpdateGroup operation returned by the service.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.UpdateGroup
* @see AWS API
* Documentation
*/
UpdateGroupResult updateGroup(UpdateGroupRequest updateGroupRequest);
/**
*
* Updates an impersonation role for the given WorkMail organization.
*
*
* @param updateImpersonationRoleRequest
* @return Result of the UpdateImpersonationRole operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws ResourceNotFoundException
* The resource cannot be found.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws LimitExceededException
* The request exceeds the limit of the resource.
* @sample AmazonWorkMail.UpdateImpersonationRole
* @see AWS API Documentation
*/
UpdateImpersonationRoleResult updateImpersonationRole(UpdateImpersonationRoleRequest updateImpersonationRoleRequest);
/**
*
* Updates a user's current mailbox quota for a specified organization and user.
*
*
* @param updateMailboxQuotaRequest
* @return Result of the UpdateMailboxQuota operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @sample AmazonWorkMail.UpdateMailboxQuota
* @see AWS
* API Documentation
*/
UpdateMailboxQuotaResult updateMailboxQuota(UpdateMailboxQuotaRequest updateMailboxQuotaRequest);
/**
*
* Updates a mobile device access rule for the specified WorkMail organization.
*
*
* @param updateMobileDeviceAccessRuleRequest
* @return Result of the UpdateMobileDeviceAccessRule operation returned by the service.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @sample AmazonWorkMail.UpdateMobileDeviceAccessRule
* @see AWS API Documentation
*/
UpdateMobileDeviceAccessRuleResult updateMobileDeviceAccessRule(UpdateMobileDeviceAccessRuleRequest updateMobileDeviceAccessRuleRequest);
/**
*
* 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.
*
*
* @param updatePrimaryEmailAddressRequest
* @return Result of the UpdatePrimaryEmailAddress operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EmailAddressInUseException
* The email address that you're trying to assign is already created for a different user, group, or
* resource.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws MailDomainStateException
* After a domain has been added to the organization, it must be verified. The domain is not yet verified.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @sample AmazonWorkMail.UpdatePrimaryEmailAddress
* @see AWS API Documentation
*/
UpdatePrimaryEmailAddressResult updatePrimaryEmailAddress(UpdatePrimaryEmailAddressRequest updatePrimaryEmailAddressRequest);
/**
*
* 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.
*
*
* @param updateResourceRequest
* @return Result of the UpdateResource operation returned by the service.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @throws InvalidConfigurationException
* The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests
* or have at least one delegate associated that can do so on its behalf.
* @throws EmailAddressInUseException
* The email address that you're trying to assign is already created for a different user, group, or
* resource.
* @throws MailDomainNotFoundException
* The domain specified is not found in your organization.
* @throws MailDomainStateException
* After a domain has been added to the organization, it must be verified. The domain is not yet verified.
* @throws NameAvailabilityException
* The user, group, or resource name isn't unique in WorkMail.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @sample AmazonWorkMail.UpdateResource
* @see AWS API
* Documentation
*/
UpdateResourceResult updateResource(UpdateResourceRequest updateResourceRequest);
/**
*
* Updates data for the user. To have the latest information, it must be preceded by a DescribeUser call. The
* dataset in the request should be the one expected when performing another DescribeUser
call.
*
*
* @param updateUserRequest
* @return Result of the UpdateUser operation returned by the service.
* @throws DirectoryServiceAuthenticationFailedException
* The directory service doesn't recognize the credentials supplied by WorkMail.
* @throws DirectoryUnavailableException
* The directory is unavailable. It might be located in another Region or deleted.
* @throws EntityNotFoundException
* The identifier supplied for the user, group, or resource does not exist in your organization.
* @throws InvalidParameterException
* One or more of the input parameters don't match the service's restrictions.
* @throws OrganizationNotFoundException
* An operation received a valid organization identifier that either doesn't belong or exist in the system.
* @throws OrganizationStateException
* The organization must have a valid state to perform certain operations on the organization or its
* members.
* @throws UnsupportedOperationException
* You can't perform a write operation against a read-only directory.
* @throws EntityStateException
* You are performing an operation on a user, group, or resource that isn't in the expected state, such as
* trying to delete an active user.
* @sample AmazonWorkMail.UpdateUser
* @see AWS API
* Documentation
*/
UpdateUserResult updateUser(UpdateUserRequest updateUserRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}