Skip to content

update_phone_number

update_phone_number(
    phone_number_id: SensitiveNonEmptyString,
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = 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/chime_sdk_voice.py
def update_phone_number(
    self,
    phone_number_id: "capo_chime_sdk_voice.types.sensitive_non_empty_string.SensitiveNonEmptyString",
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = 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.
    """

    def _handler(
        req: "OperationRequest[capo_chime_sdk_voice.types.update_phone_number_request.UpdatePhoneNumberRequest]",
    ) -> OperationResponse[
        "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 = (
            capo_chime_sdk_voice._operations.chime_sdk_telephony_service.update_phone_number.update_phone_number(
                req.options, req.input
            )
        )
        return OperationResponse(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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output