registerToWorkMail method

Future<void> registerToWorkMail({
  1. required String email,
  2. required String entityId,
  3. required String organizationId,
})

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.

May throw DirectoryServiceAuthenticationFailedException. May throw DirectoryUnavailableException. May throw EmailAddressInUseException. May throw EntityAlreadyRegisteredException. May throw EntityNotFoundException. May throw EntityStateException. May throw InvalidParameterException. May throw MailDomainNotFoundException. May throw MailDomainStateException. May throw OrganizationNotFoundException. May throw OrganizationStateException. May throw UnsupportedOperationException.

Parameter email : The email for the user, group, or resource to be updated.

Parameter entityId : The identifier for the user, group, or resource to be updated.

The identifier can accept UserId, ResourceId, or GroupId, or Username, Resourcename, or Groupname. The following identity formats are available:

  • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234
  • Entity name: entity

Parameter organizationId : The identifier for the organization under which the user, group, or resource exists.

Implementation

Future<void> registerToWorkMail({
  required String email,
  required String entityId,
  required String organizationId,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'WorkMailService.RegisterToWorkMail'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Email': email,
      'EntityId': entityId,
      'OrganizationId': organizationId,
    },
  );
}