Skip to content

update_budget

update_budget(
    farm_id: FarmId,
    budget_id: BudgetId,
    *,
    config_overrides: Optional[deadlineClientConfig] = None,
    client_token: Optional[ClientToken] = None,
    display_name: Optional[ResourceName] = None,
    description: Optional[Description] = None,
    status: Optional[BudgetStatus] = None,
    approximate_dollar_limit: Optional[ConsumedUsageLimit] = None,
    actions_to_add: Optional[BudgetActionsToAdd] = None,
    actions_to_remove: Optional[BudgetActionsToRemove] = None,
    schedule: Optional[BudgetSchedule] = None,
) -> UpdateBudgetResponse

Updates a budget that sets spending thresholds for rendering activity.

Parameters:

  • farm_id (FarmId) –

    The farm ID of the budget to update.

  • budget_id (BudgetId) –

    The budget ID to update.

  • client_token (Optional[ClientToken], default: None ) –

    The unique token which the server uses to recognize retries of the same request.

  • display_name (Optional[ResourceName], default: None ) –

    The display name of the budget to update.

    This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

  • description (Optional[Description], default: None ) –

    The description of the budget to update.

    This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

  • status (Optional[BudgetStatus], default: None ) –

    Updates the status of the budget.

    • ACTIVE–The budget is being evaluated.

    • INACTIVE–The budget is inactive. This can include Expired, Canceled, or deleted Deleted statuses.

  • approximate_dollar_limit (Optional[ConsumedUsageLimit], default: None ) –

    The dollar limit to update on the budget. Based on consumed usage.

  • actions_to_add (Optional[BudgetActionsToAdd], default: None ) –

    The budget actions to add. Budget actions specify what happens when the budget runs out.

  • actions_to_remove (Optional[BudgetActionsToRemove], default: None ) –

    The budget actions to remove from the budget.

  • schedule (Optional[BudgetSchedule], default: None ) –

    The schedule to update.

Raises:

Source code in docs_src/capo_deadline/_services/deadline.py
def update_budget(
    self,
    farm_id: "capo_deadline.types.farm_id.FarmId",
    budget_id: "capo_deadline.types.budget_id.BudgetId",
    *,
    config_overrides: Optional[deadlineClientConfig] = None,
    client_token: Optional["capo_deadline.types.client_token.ClientToken"] = None,
    display_name: Optional["capo_deadline.types.resource_name.ResourceName"] = None,
    description: Optional["capo_deadline.types.description.Description"] = None,
    status: Optional["capo_deadline.types.budget_status.BudgetStatus"] = None,
    approximate_dollar_limit: Optional[
        "capo_deadline.types.consumed_usage_limit.ConsumedUsageLimit"
    ] = None,
    actions_to_add: Optional[
        "capo_deadline.types.budget_actions_to_add.BudgetActionsToAdd"
    ] = None,
    actions_to_remove: Optional[
        "capo_deadline.types.budget_actions_to_remove.BudgetActionsToRemove"
    ] = None,
    schedule: Optional["capo_deadline.types.budget_schedule.BudgetSchedule"] = None,
) -> "capo_deadline.types.update_budget_response.UpdateBudgetResponse":
    """<p>Updates a budget that sets spending thresholds for rendering activity.</p>

    Args:
        farm_id: <p>The farm ID of the budget to update.</p>
        budget_id: <p>The budget ID to update.</p>
        client_token: <p>The unique token which the server uses to recognize retries of the same request.</p>
        display_name: <p>The display name of the budget to update.</p> <important> <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p> </important>
        description: <p>The description of the budget to update.</p> <important> <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p> </important>
        status: <p>Updates the status of the budget.</p> <ul> <li> <p> <code>ACTIVE</code>–The budget is being evaluated.</p> </li> <li> <p> <code>INACTIVE</code>–The budget is inactive. This can include Expired, Canceled, or deleted Deleted statuses.</p> </li> </ul>
        approximate_dollar_limit: <p>The dollar limit to update on the budget. Based on consumed usage.</p>
        actions_to_add: <p>The budget actions to add. Budget actions specify what happens when the budget runs out.</p>
        actions_to_remove: <p>The budget actions to remove from the budget.</p>
        schedule: <p>The schedule to update.</p>

    Raises:
        capo_deadline.errors.access_denied_exception.AccessDeniedException: <p>You don't have permission to perform the action.</p>
        capo_deadline.errors.internal_server_error_exception.InternalServerErrorException: <p>Deadline Cloud can't process your request right now. Try again later.</p>
        capo_deadline.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource can't be found.</p>
        capo_deadline.errors.throttling_exception.ThrottlingException: <p>Your request exceeded a request rate quota.</p>
        capo_deadline.errors.validation_exception.ValidationException: <p>The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.</p>
        capo_deadline.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_deadline.types.update_budget_request.UpdateBudgetRequest]",
    ) -> OperationResponse[
        "capo_deadline.types.update_budget_response.UpdateBudgetResponse"
    ]:
        import capo_deadline._operations.deadline.update_budget

        output, http_response = (
            capo_deadline._operations.deadline.update_budget.update_budget(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_deadline.types.update_budget_request.UpdateBudgetRequest",
    ) -> dict[str, Any]:
        import capo_deadline.types.update_budget_request

        return capo_deadline.types.update_budget_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateBudget", redact_input=_redact_input),
    )
    input_: capo_deadline.types.update_budget_request.UpdateBudgetRequest = {
        "farm_id": farm_id,
        "budget_id": budget_id,
    }
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if display_name is not None:
        input_["display_name"] = display_name
    if description is not None:
        input_["description"] = description
    if status is not None:
        input_["status"] = status
    if approximate_dollar_limit is not None:
        input_["approximate_dollar_limit"] = approximate_dollar_limit
    if actions_to_add is not None:
        input_["actions_to_add"] = actions_to_add
    if actions_to_remove is not None:
        input_["actions_to_remove"] = actions_to_remove
    if schedule is not None:
        input_["schedule"] = schedule

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output