Skip to content

update_provisioned_limit async

update_provisioned_limit(
    limit_definition: LimitDefinitionType,
    requested_limit_value: IntegerType,
    *,
    config_overrides: Optional[AsyncCognitoIdentityProviderClientConfig] = None,
) -> UpdateProvisionedLimitResponse

Sets the provisioned limit for a specific API category. The value must be between the default limit and your account-level maximum limit in Service Quotas.

Managed login user pools don't support adjustments to the UserAuthentication or UserFederation categories. To increase these limits, submit a Service Quotas increase request.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

Parameters:

  • limit_definition (LimitDefinitionType) –

    The limit to update. Specify the limit class and the attributes that identify the limit.

  • requested_limit_value (IntegerType) –

    The provisioned rate to set, in requests per second (RPS).

Raises:

Examples:

Example update a provisioned limit The following example sets the provisioned limit for the UserAuthentication API category to 300 RPS.

>>> await client.update_provisioned_limit(limit_definition={'LimitClass': 'API_CATEGORY', 'Attributes': {'Category': 'UserAuthentication'}}, requested_limit_value=300)
Source code in docs_src/capo_cognito_identity_provider/_services/async_cognito_identity_provider.py
async def update_provisioned_limit(
    self,
    limit_definition: "capo_cognito_identity_provider.types.limit_definition_type.LimitDefinitionType",
    requested_limit_value: "capo_cognito_identity_provider.types.integer_type.IntegerType",
    *,
    config_overrides: Optional[AsyncCognitoIdentityProviderClientConfig] = None,
) -> "capo_cognito_identity_provider.types.update_provisioned_limit_response.UpdateProvisionedLimitResponse":
    """<p>Sets the provisioned limit for a specific API category. The value must be between the default limit and your account-level maximum limit in Service Quotas.</p> <p>Managed login user pools don't support adjustments to the <code>UserAuthentication</code> or <code>UserFederation</code> categories. To increase these limits, submit a Service Quotas increase request.</p> <note> <p>Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.</p> <p class="title"> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html">Signing Amazon Web Services API Requests</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html">Using the Amazon Cognito user pools API and user pool endpoints</a> </p> </li> </ul> </note>

    Args:
        limit_definition: <p>The limit to update. Specify the limit class and the attributes that identify the limit.</p>
        requested_limit_value: <p>The provisioned rate to set, in requests per second (RPS).</p>

    Raises:
        capo_cognito_identity_provider.errors.internal_error_exception.InternalErrorException: <p>This exception is thrown when Amazon Cognito encounters an internal error.</p>
        capo_cognito_identity_provider.errors.invalid_parameter_exception.InvalidParameterException: <p>This exception is thrown when the Amazon Cognito service encounters an invalid parameter.</p>
        capo_cognito_identity_provider.errors.not_authorized_exception.NotAuthorizedException: <p>This exception is thrown when a user isn't authorized.</p>
        capo_cognito_identity_provider.errors.resource_not_found_exception.ResourceNotFoundException: <p>This exception is thrown when the Amazon Cognito service can't find the requested resource.</p>
        capo_cognito_identity_provider.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request exceeded your account's service quota. To increase your limit, use or submit a Service Quotas increase request.</p>
        capo_cognito_identity_provider.errors.too_many_requests_exception.TooManyRequestsException: <p>This exception is thrown when the user has made too many requests for a given operation.</p>
        capo_cognito_identity_provider.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Example update a provisioned limit
        The following example sets the provisioned limit for the UserAuthentication API category to 300 RPS.

        >>> await client.update_provisioned_limit(limit_definition={'LimitClass': 'API_CATEGORY', 'Attributes': {'Category': 'UserAuthentication'}}, requested_limit_value=300)
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_cognito_identity_provider.types.update_provisioned_limit_request.UpdateProvisionedLimitRequest]",
    ) -> AsyncOperationResponse[
        "capo_cognito_identity_provider.types.update_provisioned_limit_response.UpdateProvisionedLimitResponse"
    ]:
        import capo_cognito_identity_provider._operations.aws_cognito_identity_provider_service.update_provisioned_limit

        (
            output,
            http_response,
        ) = await capo_cognito_identity_provider._operations.aws_cognito_identity_provider_service.update_provisioned_limit.async_update_provisioned_limit(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateProvisionedLimit")
    )
    input_: capo_cognito_identity_provider.types.update_provisioned_limit_request.UpdateProvisionedLimitRequest = {
        "limit_definition": limit_definition,
        "requested_limit_value": requested_limit_value,
    }

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