Skip to content

put_identity_provider_configuration async

put_identity_provider_configuration(
    organization_id: OrganizationId,
    authentication_mode: IdentityProviderAuthenticationMode,
    identity_center_configuration: IdentityCenterConfiguration,
    personal_access_token_configuration: PersonalAccessTokenConfiguration,
    *,
    config_overrides: Optional[AsyncWorkMailClientConfig] = None,
) -> PutIdentityProviderConfigurationResponse

Enables integration between IAM Identity Center (IdC) and WorkMail to proxy authentication requests for mailbox users. You can connect your IdC directory or your external directory to WorkMail through IdC and manage access to WorkMail mailboxes in a single place. For enhanced protection, you could enable Multifactor Authentication (MFA) and Personal Access Tokens.

Parameters:

Raises:

Source code in docs_src/capo_workmail/_services/async_work_mail.py
async def put_identity_provider_configuration(
    self,
    organization_id: "capo_workmail.types.organization_id.OrganizationId",
    authentication_mode: "capo_workmail.types.identity_provider_authentication_mode.IdentityProviderAuthenticationMode",
    identity_center_configuration: "capo_workmail.types.identity_center_configuration.IdentityCenterConfiguration",
    personal_access_token_configuration: "capo_workmail.types.personal_access_token_configuration.PersonalAccessTokenConfiguration",
    *,
    config_overrides: Optional[AsyncWorkMailClientConfig] = None,
) -> "capo_workmail.types.put_identity_provider_configuration_response.PutIdentityProviderConfigurationResponse":
    """<p> Enables integration between IAM Identity Center (IdC) and WorkMail to proxy authentication requests for mailbox users. You can connect your IdC directory or your external directory to WorkMail through IdC and manage access to WorkMail mailboxes in a single place. For enhanced protection, you could enable Multifactor Authentication (MFA) and Personal Access Tokens. </p>

    Args:
        organization_id: <p> The ID of the WorkMail Organization. </p>
        authentication_mode: <p> The authentication mode used in WorkMail.</p>
        identity_center_configuration: <p> The details of the IAM Identity Center configuration.</p>
        personal_access_token_configuration: <p> The details of the Personal Access Token configuration. </p>

    Raises:
        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.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.resource_not_found_exception.ResourceNotFoundException: <p>The resource cannot be found.</p>
        capo_workmail.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_workmail.types.put_identity_provider_configuration_request.PutIdentityProviderConfigurationRequest]",
    ) -> AsyncOperationResponse[
        "capo_workmail.types.put_identity_provider_configuration_response.PutIdentityProviderConfigurationResponse"
    ]:
        import capo_workmail._operations.work_mail_service.put_identity_provider_configuration

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutIdentityProviderConfiguration")
    )
    input_: capo_workmail.types.put_identity_provider_configuration_request.PutIdentityProviderConfigurationRequest = {
        "organization_id": organization_id,
        "authentication_mode": authentication_mode,
        "identity_center_configuration": identity_center_configuration,
        "personal_access_token_configuration": personal_access_token_configuration,
    }

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