com.amazonaws.services.workmail.AmazonWorkMail Maven / Gradle / Ivy
Show all versions of aws-java-sdk-workmail Show documentation
/*
* Copyright 2016-2021 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.
*
*
*
* Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and
* mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or
* other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory
* and control both the keys that encrypt your data and the location in which your data is stored.
*
*
* The WorkMail API is designed for the following scenarios:
*
*
* -
*
* Listing and describing organizations
*
*
*
*
* -
*
* Managing users
*
*
*
*
* -
*
* Managing groups
*
*
*
*
* -
*
* Managing resources
*
*
*
*
* All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS
* SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate
* access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the
* IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy).
* This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This
* allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a
* selective basis using the IAM model.
*
*/
@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.
* @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);
/**
*
* 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 Amazon 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
* For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the
* 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 a group that can be used in Amazon 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 Amazon 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 Amazon 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 a new mobile device access rule for the specified Amazon 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 Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory
* Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization
* alias must match the directory alias. If you choose not to associate an existing directory with your
* organization, then we create a new Amazon WorkMail directory for you. For more information, see Adding an
* organization in the Amazon WorkMail Administrator Guide.
*
*
* You can associate multiple email domains with an organization, then set your default email domain from the Amazon
* 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 Amazon WorkMail Administrator Guide.
*
*
* Optionally, you can use a customer managed master key from AWS Key Management Service (AWS KMS) to encrypt email
* for your organization. If you don't associate an AWS KMS key, Amazon WorkMail creates a default AWS managed
* master 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 Amazon WorkMail.
* @sample AmazonWorkMail.CreateOrganization
* @see AWS
* API Documentation
*/
CreateOrganizationResult createOrganization(CreateOrganizationRequest createOrganizationRequest);
/**
*
* Creates a new Amazon 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 Amazon 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 Amazon WorkMail.
* @sample AmazonWorkMail.CreateResource
* @see AWS API
* Documentation
*/
CreateResourceResult createResource(CreateResourceRequest createResourceRequest);
/**
*
* Creates a user who can be used in Amazon 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 Amazon 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 Amazon 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.
*
*
* @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 a group from Amazon 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 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 a mobile device access rule for the specified Amazon WorkMail organization.
*
*
* @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 Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of
* the organization. You can choose whether to delete the associated directory. For more information, see Removing an
* organization in the Amazon WorkMail Administrator Guide.
*
*
* @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.
* @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 Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must
* be DISABLED
. Use the DescribeUser action to confirm the user state.
*
*
* Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are
* permanently removed.
*
*
* @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 Amazon WorkMail. This action disassociates the mailbox and
* schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The
* functionality in the console is Disable.
*
*
* @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);
/**
*
* 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);
/**
*
* 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.
* @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.
* @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, or user ID.
*
*
* @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 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);
/**
*
* 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 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 Amazon 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);
/**
*
* 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);
/**
*
* 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);
/**
*
* 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 the mobile device access rules for the specified Amazon 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.
* @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.
* @sample AmazonWorkMail.ListResources
* @see AWS API
* Documentation
*/
ListResourcesResult listResources(ListResourcesRequest listResourcesRequest);
/**
*
* Lists the tags applied to an Amazon 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, and user 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 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);
/**
*
* 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);
/**
*
* 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 an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and
* calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user,
* group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this
* operation is Enable.
*
*
* 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
* For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the
* 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 Amazon 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 Amazon WorkMail organization resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @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);
/**
*
* Untags the specified tags from the specified Amazon 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 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 Amazon 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
* For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the
* 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
* For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the
* 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 Amazon 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.
* @sample AmazonWorkMail.UpdateResource
* @see AWS API
* Documentation
*/
UpdateResourceResult updateResource(UpdateResourceRequest updateResourceRequest);
/**
* 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);
}