Skip to content

modify_usage_limit async

modify_usage_limit(
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    usage_limit_id: Optional[String] = None,
    amount: Optional[LongOptional] = None,
    breach_action: Optional[UsageLimitBreachAction] = None,
) -> UsageLimit

Modifies a usage limit in a cluster. You can't modify the feature type or period of a usage limit.

Parameters:

  • usage_limit_id (Optional[String], default: None ) –

    The identifier of the usage limit to modify.

  • amount (Optional[LongOptional], default: None ) –

    The new limit amount. For more information about this parameter, see UsageLimit.

  • breach_action (Optional[UsageLimitBreachAction], default: None ) –

    The new action that Amazon Redshift takes when the limit is reached. For more information about this parameter, see UsageLimit.

Raises:

Source code in docs_src/capo_redshift/_services/async_redshift.py
async def modify_usage_limit(
    self,
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    usage_limit_id: Optional["capo_redshift.types.string.String"] = None,
    amount: Optional["capo_redshift.types.long_optional.LongOptional"] = None,
    breach_action: Optional[
        "capo_redshift.types.usage_limit_breach_action.UsageLimitBreachAction"
    ] = None,
) -> "capo_redshift.types.usage_limit.UsageLimit":
    """<p>Modifies a usage limit in a cluster. You can't modify the feature type or period of a usage limit.</p>

    Args:
        usage_limit_id: <p>The identifier of the usage limit to modify.</p>
        amount: <p>The new limit amount. For more information about this parameter, see <a>UsageLimit</a>. </p>
        breach_action: <p>The new action that Amazon Redshift takes when the limit is reached. For more information about this parameter, see <a>UsageLimit</a>. </p>

    Raises:
        capo_redshift.errors.invalid_usage_limit_fault.InvalidUsageLimitFault: <p>The usage limit is not valid.</p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.usage_limit_not_found_fault.UsageLimitNotFoundFault: <p>The usage limit identifier can't be found.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_redshift.types.modify_usage_limit_message.ModifyUsageLimitMessage]",
    ) -> AsyncOperationResponse["capo_redshift.types.usage_limit.UsageLimit"]:
        import capo_redshift._operations.redshift_service_version20121201.modify_usage_limit

        (
            output,
            http_response,
        ) = await capo_redshift._operations.redshift_service_version20121201.modify_usage_limit.async_modify_usage_limit(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyUsageLimit")
    )
    input_: capo_redshift.types.modify_usage_limit_message.ModifyUsageLimitMessage = {}
    if usage_limit_id is not None:
        input_["usage_limit_id"] = usage_limit_id
    if amount is not None:
        input_["amount"] = amount
    if breach_action is not None:
        input_["breach_action"] = breach_action

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