> For the complete documentation index, see [llms.txt](https://docs.finopscenter.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.finopscenter.com/ai-cost-governance/workload-setup-and-estimates.md).

# Workload Setup & Estimates

**Role:** Product Owner **Location:** Spaces → Add Workload wizard

Before your AI workload's spend appears in your Spaces dashboard or in weekly Spend Cards, you need to register it as an AI workload and claim the IAM role your application uses to call Bedrock. This connects your application's CUR spend to your budget in the FinOps Center hierarchy.

### Prerequisites

Before you can complete workload setup, the following must already be true:

* The model your workload uses must be **Approved** and **Implemented** by the FinOps Lead and Cloud Engineer for the account and region your workload runs in.
* You must have the IAM role ARN that your application assumes when calling Bedrock. This is provided in the Developer Handoff block from the Cloud Engineer.
* Your workload must be registered in Spaces at the Product (E4) level. If it is not, create the workload in Spaces first before adding AI configuration.

### Adding an AI Workload

1. Open **Spaces** and navigate to your Product.
2. Click **Add Workload**.
3. In the workload type selector, choose **AI Workload**.
4. Complete the Business Request fields:
   * **Use Case Type** — Select the category that best describes what the workload does (e.g., customer-facing chat, internal tooling, document processing, code generation).
   * **Workload Type** — Select the underlying infrastructure type (Lambda, ECS, EC2, or other).
   * **Details** — Free-text description of what the workload does and why it needs this model. This is stored on the Business Request record.
5. Select your **Availability Requirement**:
   * **Standard** — Single-region inference, standard pricing.
   * **Production / High Availability** — Cross-region inference profile, approximately 10% pricing premium. Choose this if your workload requires high availability or low-latency fallback across regions. This is a business decision about your SLA requirements, not a technical one.
6. Click **Submit Request**.

The Business Request goes to the FinOps Lead for review and configuration. You will be notified when the request is approved and the IAM configuration is ready to claim.

> **If the model is not available in the dropdown:** The model has not been Implemented for your workload's account and region. Contact your FinOps Lead to check the approval status and ask your Cloud Engineer to complete the enablement task.

### Claiming the IAM Role

After your Business Request is approved and the Cloud Engineer marks the task Implemented, the workload appears in your Spaces dashboard with a **Claim Role** prompt.

1. Open the workload in Spaces.
2. Click **Claim Role**.
3. Enter the IAM role ARN provided in the Developer Handoff block. This is the role your application assumes when calling `bedrock:InvokeModel`.
4. Click **Confirm Claim**.

Once claimed, every Bedrock API call that role makes will be attributed to this workload in CUR via `line_item_iam_principal`. This is what connects your application's spend to your budget in the FinOps Center hierarchy.

> **Note on shared accounts:** If your workload runs in an account that is shared with other budgets, claiming the IAM role causes that role's spend to exit the shared cost pool and flow 100% to your workload. This is the intended behavior — it replaces averaged approximations with accurate attribution. Release the claim only if the workload is decommissioned or the role changes.

### Setting Token Estimates

After claiming the role, set a token estimate for the period. This estimate is what your weekly Spend Cards will measure actuals against.

1. Open the workload in Spaces.
2. Click **Set Estimate**.
3. Choose your input method:
   * **Token volume** — Enter expected input tokens, output tokens, and cache-read tokens separately per period.
   * **Dollar budget** — Enter a dollar amount. FinOps Center back-calculates the token equivalent using current Bedrock pricing for the approved model and region.
4. Select the estimate period (weekly, monthly).
5. Click **Save Estimate**.

Estimates can be updated mid-period. Each change creates an audit record. If you revise an estimate, the Spend Card for the current period will show both the original and revised estimate.

> **Prompt caching:** If your workload uses prompt caching, enter cache-read tokens separately from input tokens. Cache-read tokens are billed at a lower rate than input tokens — combining them will overstate your expected cost.

### Allocation Mode

Each AI workload can be set to one of two allocation modes:

* **BI-only** — Spend is visible in your Spaces dashboard and in Spend Cards, but does not move budget. Use this during initial rollout or for workloads where chargeback is not yet agreed.
* **Chargeback** — Spend is debited against your workload's allocated budget. Use this once the estimate is confirmed and the chargeback model is agreed with Finance.

To change the allocation mode, open the workload in Spaces and click **Edit Allocation Mode**. The FinOps Lead must confirm chargeback mode changes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.finopscenter.com/ai-cost-governance/workload-setup-and-estimates.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
