Skip to content

register_to_work_mail

register_to_work_mail(
    organization_id: OrganizationId,
    entity_id: EntityIdentifier,
    email: EmailAddress,
    *,
    config_overrides: Optional[WorkMailClientConfig] = None,
) -> RegisterToWorkMailResponse

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.

Parameters:

  • organization_id (OrganizationId) –

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

  • entity_id (EntityIdentifier) –

    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

  • email (EmailAddress) –

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

Raises:

Source code in docs_src/capo_workmail/_services/work_mail.py
def register_to_work_mail(
    self,
    organization_id: "capo_workmail.types.organization_id.OrganizationId",
    entity_id: "capo_workmail.types.entity_identifier.EntityIdentifier",
    email: "capo_workmail.types.email_address.EmailAddress",
    *,
    config_overrides: Optional[WorkMailClientConfig] = None,
) -> (
    "capo_workmail.types.register_to_work_mail_response.RegisterToWorkMailResponse"
):
    """<p>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 <a href="https://aws.amazon.com/workmail/pricing">Pricing</a>. The equivalent console functionality for this operation is <i>Enable</i>.</p> <p>Users can either be created by calling the <a>CreateUser</a> API operation or they can be synchronized from your directory. For more information, see <a>DeregisterFromWorkMail</a>.</p>

    Args:
        organization_id: <p>The identifier for the organization under which the user, group, or resource exists.</p>
        entity_id: <p>The identifier for the user, group, or resource to be updated.</p> <p>The identifier can accept <i>UserId, ResourceId, or GroupId</i>, or <i>Username, Resourcename, or Groupname</i>. The following identity formats are available:</p> <ul> <li> <p>Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234</p> </li> <li> <p>Entity name: entity</p> </li> </ul>
        email: <p>The email for the user, group, or resource to be updated.</p>

    Raises:
        capo_workmail.errors.directory_service_authentication_failed_exception.DirectoryServiceAuthenticationFailedException: <p>The directory service doesn't recognize the credentials supplied by WorkMail.</p>
        capo_workmail.errors.directory_unavailable_exception.DirectoryUnavailableException: <p>The directory is unavailable. It might be located in another Region or deleted.</p>
        capo_workmail.errors.email_address_in_use_exception.EmailAddressInUseException: <p>The email address that you're trying to assign is already created for a different user, group, or resource.</p>
        capo_workmail.errors.entity_already_registered_exception.EntityAlreadyRegisteredException: <p>The user, group, or resource that you're trying to register is already registered.</p>
        capo_workmail.errors.entity_not_found_exception.EntityNotFoundException: <p>The identifier supplied for the user, group, or resource does not exist in your organization.</p>
        capo_workmail.errors.entity_state_exception.EntityStateException: <p>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.</p>
        capo_workmail.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more of the input parameters don't match the service's restrictions.</p>
        capo_workmail.errors.mail_domain_not_found_exception.MailDomainNotFoundException: <p>The domain specified is not found in your organization.</p>
        capo_workmail.errors.mail_domain_state_exception.MailDomainStateException: <p>After a domain has been added to the organization, it must be verified. The domain is not yet verified.</p>
        capo_workmail.errors.organization_not_found_exception.OrganizationNotFoundException: <p>An operation received a valid organization identifier that either doesn't belong or exist in the system.</p>
        capo_workmail.errors.organization_state_exception.OrganizationStateException: <p>The organization must have a valid state to perform certain operations on the organization or its members.</p>
        capo_workmail.errors.unsupported_operation_exception.UnsupportedOperationException: <p>You can't perform a write operation against a read-only directory.</p>
        capo_workmail.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_workmail.types.register_to_work_mail_request.RegisterToWorkMailRequest]",
    ) -> OperationResponse[
        "capo_workmail.types.register_to_work_mail_response.RegisterToWorkMailResponse"
    ]:
        import capo_workmail._operations.work_mail_service.register_to_work_mail

        output, http_response = (
            capo_workmail._operations.work_mail_service.register_to_work_mail.register_to_work_mail(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RegisterToWorkMail")
    )
    input_: capo_workmail.types.register_to_work_mail_request.RegisterToWorkMailRequest = {
        "organization_id": organization_id,
        "entity_id": entity_id,
        "email": email,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output