Skip to content

update_protect_configuration_country_rule_set async

update_protect_configuration_country_rule_set(
    protect_configuration_id: ProtectConfigurationIdOrArn,
    number_capability: NumberCapability,
    country_rule_set_updates: ProtectConfigurationCountryRuleSet,
    *,
    config_overrides: Optional[AsyncPinpointSMSVoiceV2ClientConfig] = None,
) -> UpdateProtectConfigurationCountryRuleSetResult

Update a country rule set to ALLOW, BLOCK, MONITOR, or FILTER messages to be sent to the specified destination counties. You can update one or multiple countries at a time. The updates are only applied to the specified NumberCapability type.

Parameters:

  • protect_configuration_id (ProtectConfigurationIdOrArn) –

    The unique identifier for the protect configuration.

  • number_capability (NumberCapability) –

    The number capability to apply the CountryRuleSetUpdates updates to.

  • country_rule_set_updates (ProtectConfigurationCountryRuleSet) –

    A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see Supported countries and regions (SMS channel) in the End User Messaging SMS User Guide.

    For example, to set the United States as allowed and Canada as blocked, the CountryRuleSetUpdates would be formatted as: "CountryRuleSetUpdates": { "US" : { "ProtectStatus": "ALLOW" } "CA" : { "ProtectStatus": "BLOCK" } }

Raises:

Source code in docs_src/capo_pinpoint_sms_voice_v2/_services/async_pinpoint_sms_voice_v2.py
async def update_protect_configuration_country_rule_set(
    self,
    protect_configuration_id: "capo_pinpoint_sms_voice_v2.types.protect_configuration_id_or_arn.ProtectConfigurationIdOrArn",
    number_capability: "capo_pinpoint_sms_voice_v2.types.number_capability.NumberCapability",
    country_rule_set_updates: "capo_pinpoint_sms_voice_v2.types.protect_configuration_country_rule_set.ProtectConfigurationCountryRuleSet",
    *,
    config_overrides: Optional[AsyncPinpointSMSVoiceV2ClientConfig] = None,
) -> "capo_pinpoint_sms_voice_v2.types.update_protect_configuration_country_rule_set_result.UpdateProtectConfigurationCountryRuleSetResult":
    """<p>Update a country rule set to <code>ALLOW</code>, <code>BLOCK</code>, <code>MONITOR</code>, or <code>FILTER</code> messages to be sent to the specified destination counties. You can update one or multiple countries at a time. The updates are only applied to the specified NumberCapability type.</p>

    Args:
        protect_configuration_id: <p>The unique identifier for the protect configuration.</p>
        number_capability: <p>The number capability to apply the CountryRuleSetUpdates updates to.</p>
        country_rule_set_updates: <p>A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see <a href="https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html">Supported countries and regions (SMS channel)</a> in the End User Messaging SMS User Guide.</p> <p>For example, to set the United States as allowed and Canada as blocked, the <code>CountryRuleSetUpdates</code> would be formatted as: <code>"CountryRuleSetUpdates": { "US" : { "ProtectStatus": "ALLOW" } "CA" : { "ProtectStatus": "BLOCK" } }</code> </p>

    Raises:
        capo_pinpoint_sms_voice_v2.errors.access_denied_exception.AccessDeniedException: <p>The request was denied because you don't have sufficient permissions to access the resource.</p>
        capo_pinpoint_sms_voice_v2.errors.internal_server_exception.InternalServerException: <p>The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.</p>
        capo_pinpoint_sms_voice_v2.errors.resource_not_found_exception.ResourceNotFoundException: <p>A requested resource couldn't be found.</p>
        capo_pinpoint_sms_voice_v2.errors.throttling_exception.ThrottlingException: <p>An error that occurred because too many requests were sent during a certain amount of time.</p>
        capo_pinpoint_sms_voice_v2.errors.validation_exception.ValidationException: <p>A validation exception for a field.</p>
        capo_pinpoint_sms_voice_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_pinpoint_sms_voice_v2.types.update_protect_configuration_country_rule_set_request.UpdateProtectConfigurationCountryRuleSetRequest]",
    ) -> AsyncOperationResponse[
        "capo_pinpoint_sms_voice_v2.types.update_protect_configuration_country_rule_set_result.UpdateProtectConfigurationCountryRuleSetResult"
    ]:
        import capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.update_protect_configuration_country_rule_set

        (
            output,
            http_response,
        ) = await capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.update_protect_configuration_country_rule_set.async_update_protect_configuration_country_rule_set(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateProtectConfigurationCountryRuleSet"),
    )
    input_: capo_pinpoint_sms_voice_v2.types.update_protect_configuration_country_rule_set_request.UpdateProtectConfigurationCountryRuleSetRequest = {
        "protect_configuration_id": protect_configuration_id,
        "number_capability": number_capability,
        "country_rule_set_updates": country_rule_set_updates,
    }

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