Skip to content

update_primary_email_address async

update_primary_email_address(
    organization_id: OrganizationId,
    entity_id: EntityIdentifier,
    email: EmailAddress,
    *,
    config_overrides: Optional[AsyncWorkMailClientConfig] = None,
) -> UpdatePrimaryEmailAddressResponse

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.

Parameters:

  • organization_id (OrganizationId) –

    The organization that contains the user, group, or resource to update.

  • entity_id (EntityIdentifier) –

    The user, group, or resource to update.

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

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

    • Email address: [email protected]

    • Entity name: entity

  • email (EmailAddress) –

    The value of the email to be updated as primary.

Raises:

Source code in docs_src/capo_workmail/_services/async_work_mail.py
async def update_primary_email_address(
    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[AsyncWorkMailClientConfig] = None,
) -> "capo_workmail.types.update_primary_email_address_response.UpdatePrimaryEmailAddressResponse":
    """<p>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.</p>

    Args:
        organization_id: <p>The organization that contains the user, group, or resource to update.</p>
        entity_id: <p>The user, group, or resource to update.</p> <p>The identifier can accept <i>UseriD, ResourceId, or GroupId</i>, <i>Username, Resourcename, or Groupname</i>, or <i>email</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>Email address: [email protected]</p> </li> <li> <p>Entity name: entity</p> </li> </ul>
        email: <p>The value of the email to be updated as primary.</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_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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_workmail.types.update_primary_email_address_request.UpdatePrimaryEmailAddressRequest]",
    ) -> AsyncOperationResponse[
        "capo_workmail.types.update_primary_email_address_response.UpdatePrimaryEmailAddressResponse"
    ]:
        import capo_workmail._operations.work_mail_service.update_primary_email_address

        (
            output,
            http_response,
        ) = await capo_workmail._operations.work_mail_service.update_primary_email_address.async_update_primary_email_address(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdatePrimaryEmailAddress")
    )
    input_: capo_workmail.types.update_primary_email_address_request.UpdatePrimaryEmailAddressRequest = {
        "organization_id": organization_id,
        "entity_id": entity_id,
        "email": email,
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output