> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upmetr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Resources & Compute Management

> Discover, inventory, and manage cloud resources across AWS, GCP, Azure, and DigitalOcean

Upmetr automatically discovers and inventories cloud resources across all connected providers. The **Resources** page gives you a unified view of every resource in your infrastructure — compute instances, databases, DNS zones, storage buckets, serverless functions, and more — regardless of which cloud they live in.

## Resource Discovery

When you [add a cloud account](/guides/cloud-accounts), Upmetr immediately scans it for supported resource types. After the initial scan, discovery runs automatically every **15 minutes** to keep your inventory up to date.

Each discovered resource includes:

* **Name and ID** — The resource's name and provider-specific identifier
* **Type** — The resource category (e.g., EC2 Instance, Cloud SQL, Droplet)
* **Status** — Current state (Running, Stopped, etc.)
* **Region** — The cloud region where the resource is deployed
* **Cloud Account** — Which connected account owns the resource

<Note>
  Resource discovery requires the **cloud\_resources** module. If your plan does not include this module, the Resources page will show an upgrade prompt.
</Note>

## Supported Resource Types

Upmetr discovers 27 resource types across four cloud providers:

### AWS

| Type                    | Category    |
| ----------------------- | ----------- |
| EC2 Instance            | Compute     |
| RDS Database            | Database    |
| Route 53 Zone           | DNS         |
| CloudFront Distribution | CDN         |
| Load Balancer (ALB)     | Network     |
| ACM Certificate         | Certificate |
| S3 Bucket               | Storage     |
| Lambda Function         | Serverless  |
| WAF Web ACL             | Security    |

### Google Cloud

| Type                 | Category   |
| -------------------- | ---------- |
| Compute Engine VM    | Compute    |
| Cloud SQL Instance   | Database   |
| GKE Cluster          | Kubernetes |
| Cloud DNS Zone       | DNS        |
| Cloud Storage Bucket | Storage    |
| Cloud Function       | Serverless |

### Azure

| Type               | Category   |
| ------------------ | ---------- |
| Azure VM           | Compute    |
| Azure SQL Database | Database   |
| AKS Cluster        | Kubernetes |
| Azure DNS Zone     | DNS        |
| Blob Storage       | Storage    |
| Azure Function     | Serverless |

### DigitalOcean

| Type             | Category   |
| ---------------- | ---------- |
| Droplet          | Compute    |
| Managed Database | Database   |
| DOKS Cluster     | Kubernetes |
| Space            | Storage    |
| Domain           | DNS        |
| Load Balancer    | Network    |

## Viewing Resources

Navigate to **Resources** in the sidebar to see your full cloud inventory. The page displays:

* **Summary cards** at the top showing total resource count, EC2 instances, RDS databases, and running resources
* **Filter bar** with six filters that can be combined
* **Paginated table** listing all matching resources

### Available Filters

| Filter       | Description                                                                |
| ------------ | -------------------------------------------------------------------------- |
| **Search**   | Free-text search by resource name or ID                                    |
| **Provider** | Filter by cloud provider (AWS, GCP, Azure, DigitalOcean)                   |
| **Account**  | Filter by a specific cloud account                                         |
| **Type**     | Filter by resource type — automatically scoped when a provider is selected |
| **Status**   | Filter by resource status (Running, Available, Stopped, Pending, Error)    |
| **Region**   | Filter by cloud region — populated from your discovered resources          |

<Tip>
  Select a **Provider** first to narrow the **Type** dropdown to only the resource types available for that provider.
</Tip>

Use the **Refresh** button in the filter bar to reload the current view without changing your filters. To remove all filters at once, click **Clear all**.

## Resource Statuses

| Status         | Meaning                                                                          |
| -------------- | -------------------------------------------------------------------------------- |
| **Running**    | The resource is active and operational                                           |
| **Available**  | The resource is provisioned and ready (common for databases and storage)         |
| **Stopped**    | The resource exists but is not running (e.g., a stopped EC2 instance)            |
| **Pending**    | The resource is transitioning between states (starting, stopping, etc.)          |
| **Error**      | The resource is in a failed or unhealthy state                                   |
| **Terminated** | The resource has been destroyed — it will be removed on the next discovery cycle |

## Compute Management

Upmetr allows you to **start**, **stop**, and **reboot** EC2 instances directly from the dashboard.

<Warning>
  Compute management actions are restricted to **Superadmin** users and require the **compute\_management** module on your plan. These actions affect live infrastructure — use with caution.
</Warning>

### Available Actions

| Action     | Required Instance State | Result                            |
| ---------- | ----------------------- | --------------------------------- |
| **Start**  | Stopped                 | Instance transitions to Running   |
| **Stop**   | Running                 | Instance transitions to Stopped   |
| **Reboot** | Running                 | Instance restarts (stays Running) |

### How It Works

1. Navigate to a resource detail page for an EC2 instance
2. Click the desired action button (**Start**, **Stop**, or **Reboot**)
3. A **confirmation modal** appears — you must explicitly confirm the action
4. Upmetr executes the action via the AWS API and updates the resource status
5. The action is recorded in the **Audit Log** for security tracking

<Note>
  Compute management currently supports **AWS EC2 instances** only. Your IAM policy must include `ec2:StartInstances`, `ec2:StopInstances`, and `ec2:RebootInstances` permissions. See the [Cloud Accounts guide](/guides/cloud-accounts) for IAM policy details.
</Note>

## Manual Discovery

If you need to refresh your resource inventory immediately (for example, after launching new instances), you can trigger a manual discovery:

1. Go to **Settings > Cloud Accounts**
2. Click the **Discover** button on the account you want to re-scan
3. Upmetr scans the account and updates the resource list

The next automatic discovery will continue on its regular 15-minute schedule.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Resources not showing after adding a cloud account">
    * Ensure you clicked **Discover** on the cloud account after adding it, or wait up to 15 minutes for automatic discovery
    * Verify that the credentials have the correct read permissions for the resource types you expect (e.g., `ec2:Describe*`, `rds:Describe*` for AWS)
    * Check **Settings > Cloud Accounts** and run **Test Connection** to confirm the account is connected
  </Accordion>

  <Accordion title="Resource data appears stale or outdated">
    * Resources are refreshed every 15 minutes automatically
    * Click the **Refresh** button on the Resources page to reload the current data from the database
    * To force a full re-scan from the cloud provider, go to **Settings > Cloud Accounts** and click **Discover**
  </Accordion>

  <Accordion title="Missing resource types that I expected to see">
    * Verify the IAM policy or service account role includes permissions for the missing resource type
    * Some resource types are region-specific — make sure the account's default region or multi-region scanning covers the expected regions
    * Check that the resource exists and is not in a terminated state in your cloud provider's console
  </Accordion>

  <Accordion title="Compute management actions are not available">
    * Compute management requires the **compute\_management** module — check your plan includes it under **Settings > Billing**
    * Only **Superadmin** users can perform start/stop/reboot actions
    * The IAM policy must include `ec2:StartInstances`, `ec2:StopInstances`, and `ec2:RebootInstances` in addition to read-only permissions
  </Accordion>
</AccordionGroup>
