Skip to content

update_phone_number async

update_phone_number(
    phone_number_id: SensitiveNonEmptyString,
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
    product_type: Optional[PhoneNumberProductType] = None,
    calling_name: Optional[CallingName] = None,
    name: Optional[PhoneNumberName] = None,
) -> UpdatePhoneNumberResponse

Updates phone number details, such as product type, calling name, or phone number name for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type, calling name, or phone number name in one action.

For numbers outside the U.S., you must use the Amazon Chime SDK SIP Media Application Dial-In product type.

Updates to outbound calling names can take 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.

Parameters:

Raises:

Source code in docs_src/capo_chime_sdk_voice/_services/async_chime_sdk_voice.py
async def update_phone_number(
    self,
    phone_number_id: "capo_chime_sdk_voice.types.sensitive_non_empty_string.SensitiveNonEmptyString",
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
    product_type: Optional[
        "capo_chime_sdk_voice.types.phone_number_product_type.PhoneNumberProductType"
    ] = None,
    calling_name: Optional[
        "capo_chime_sdk_voice.types.calling_name.CallingName"
    ] = None,
    name: Optional[
        "capo_chime_sdk_voice.types.phone_number_name.PhoneNumberName"
    ] = None,
) -> "capo_chime_sdk_voice.types.update_phone_number_response.UpdatePhoneNumberResponse":
    """<p>Updates phone number details, such as product type, calling name, or phone number name for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type, calling name, or phone number name in one action.</p> <p>For numbers outside the U.S., you must use the Amazon Chime SDK SIP Media Application Dial-In product type.</p> <p>Updates to outbound calling names can take 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.</p>

    Args:
        phone_number_id: <p>The phone number ID.</p>
        product_type: <p>The product type.</p>
        calling_name: <p>The outbound calling name associated with the phone number.</p>
        name: <p>Specifies the updated name assigned to one or more phone numbers.</p>

    Raises:
        capo_chime_sdk_voice.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_voice.errors.conflict_exception.ConflictException: <p>Multiple instances of the same request were made simultaneously.</p>
        capo_chime_sdk_voice.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_voice.errors.not_found_exception.NotFoundException: <p>The requested resource couldn't be found.</p>
        capo_chime_sdk_voice.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_voice.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_voice.errors.throttled_client_exception.ThrottledClientException: <p>The number of customer requests exceeds the request rate limit.</p>
        capo_chime_sdk_voice.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client isn't authorized to request a resource.</p>
        capo_chime_sdk_voice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_chime_sdk_voice.types.update_phone_number_request.UpdatePhoneNumberRequest]",
    ) -> AsyncOperationResponse[
        "capo_chime_sdk_voice.types.update_phone_number_response.UpdatePhoneNumberResponse"
    ]:
        import capo_chime_sdk_voice._operations.chime_sdk_telephony_service.update_phone_number

        (
            output,
            http_response,
        ) = await capo_chime_sdk_voice._operations.chime_sdk_telephony_service.update_phone_number.async_update_phone_number(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_chime_sdk_voice.types.update_phone_number_request.UpdatePhoneNumberRequest",
    ) -> dict[str, Any]:
        import capo_chime_sdk_voice.types.update_phone_number_request

        return (
            capo_chime_sdk_voice.types.update_phone_number_request.redact_sensitive(
                input_
            )
        )

    def _redact_output(
        output: "capo_chime_sdk_voice.types.update_phone_number_response.UpdatePhoneNumberResponse",
    ) -> dict[str, Any]:
        import capo_chime_sdk_voice.types.update_phone_number_response

        return capo_chime_sdk_voice.types.update_phone_number_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdatePhoneNumber",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_chime_sdk_voice.types.update_phone_number_request.UpdatePhoneNumberRequest = {
        "phone_number_id": phone_number_id
    }
    if product_type is not None:
        input_["product_type"] = product_type
    if calling_name is not None:
        input_["calling_name"] = calling_name
    if name is not None:
        input_["name"] = name

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