# Quotas

## Get Region Quota

`client.quotas.get("us-sva-2"region, RequestOptionsoptions?): Quota`

**get** `/v1/quotas/{region}`

Get quota usage and limits for the current organization in a single region

### Parameters

- `region: "us-sva-2"`

  - `"us-sva-2"`

### Returns

- `Quota`

  Quota response.

  - `compute: QuotaCompute`

    Compute quota.

    - `memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: QuotaDimensionDetail`

      Quota dimension detail.

  - `networking: QuotaNetworking`

    Networking quota.

    - `connect_connections: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

    - `vpcs: QuotaDimensionDetail`

      Quota dimension detail.

  - `nks: QuotaNKS`

    NKS quota.

    - `clusters: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_vcpu: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

  - `region: RegionName`

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: QuotaStorage`

    Storage quota.

    - `abs: QuotaDimensionDetail`

      Quota dimension detail.

    - `local_nvme: QuotaDimensionDetail`

      Quota dimension detail.

### Example

```typescript
import NirvanaLabs from '@nirvana-labs/nirvana';

const client = new NirvanaLabs({
  apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted
});

const quota = await client.quotas.get('us-sva-2');

console.log(quota.compute);
```

#### Response

```json
{
  "compute": {
    "memory_gb": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "vcpu": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "networking": {
    "connect_connections": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "public_ips": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "vpcs": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "nks": {
    "clusters": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "node_pool_memory_gb": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "node_pool_vcpu": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "public_ips": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "region": "us-sva-2",
  "storage": {
    "abs": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "local_nvme": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  }
}
```

## List Quotas

`client.quotas.list(RequestOptionsoptions?): QuotaList`

**get** `/v1/quotas`

List quota usage and limits for the current organization across all regions

### Returns

- `QuotaList`

  - `items: Array<Quota>`

    - `compute: QuotaCompute`

      Compute quota.

      - `memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: QuotaDimensionDetail`

        Quota dimension detail.

    - `networking: QuotaNetworking`

      Networking quota.

      - `connect_connections: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

      - `vpcs: QuotaDimensionDetail`

        Quota dimension detail.

    - `nks: QuotaNKS`

      NKS quota.

      - `clusters: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_vcpu: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

    - `region: RegionName`

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: QuotaStorage`

      Storage quota.

      - `abs: QuotaDimensionDetail`

        Quota dimension detail.

      - `local_nvme: QuotaDimensionDetail`

        Quota dimension detail.

  - `pagination: Pagination`

    Pagination response details.

    - `next_cursor: string | null`

    - `previous_cursor: string | null`

    - `total_count: number`

### Example

```typescript
import NirvanaLabs from '@nirvana-labs/nirvana';

const client = new NirvanaLabs({
  apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted
});

const quotaList = await client.quotas.list();

console.log(quotaList.items);
```

#### Response

```json
{
  "items": [
    {
      "compute": {
        "memory_gb": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "vcpu": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "networking": {
        "connect_connections": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "public_ips": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "vpcs": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "nks": {
        "clusters": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "node_pool_memory_gb": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "node_pool_vcpu": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "public_ips": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "region": "us-sva-2",
      "storage": {
        "abs": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "local_nvme": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      }
    }
  ],
  "pagination": {
    "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
    "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
    "total_count": 125
  }
}
```

## Domain Types

### Quota

- `Quota`

  Quota response.

  - `compute: QuotaCompute`

    Compute quota.

    - `memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: QuotaDimensionDetail`

      Quota dimension detail.

  - `networking: QuotaNetworking`

    Networking quota.

    - `connect_connections: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

    - `vpcs: QuotaDimensionDetail`

      Quota dimension detail.

  - `nks: QuotaNKS`

    NKS quota.

    - `clusters: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_vcpu: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

  - `region: RegionName`

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: QuotaStorage`

    Storage quota.

    - `abs: QuotaDimensionDetail`

      Quota dimension detail.

    - `local_nvme: QuotaDimensionDetail`

      Quota dimension detail.

### Quota Compute

- `QuotaCompute`

  Compute quota.

  - `memory_gb: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `vcpu: QuotaDimensionDetail`

    Quota dimension detail.

### Quota Dimension Detail

- `QuotaDimensionDetail`

  Quota dimension detail.

  - `limit: number`

  - `remaining: number`

  - `used: number`

### Quota List

- `QuotaList`

  - `items: Array<Quota>`

    - `compute: QuotaCompute`

      Compute quota.

      - `memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: QuotaDimensionDetail`

        Quota dimension detail.

    - `networking: QuotaNetworking`

      Networking quota.

      - `connect_connections: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

      - `vpcs: QuotaDimensionDetail`

        Quota dimension detail.

    - `nks: QuotaNKS`

      NKS quota.

      - `clusters: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_vcpu: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

    - `region: RegionName`

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: QuotaStorage`

      Storage quota.

      - `abs: QuotaDimensionDetail`

        Quota dimension detail.

      - `local_nvme: QuotaDimensionDetail`

        Quota dimension detail.

  - `pagination: Pagination`

    Pagination response details.

    - `next_cursor: string | null`

    - `previous_cursor: string | null`

    - `total_count: number`

### Quota Networking

- `QuotaNetworking`

  Networking quota.

  - `connect_connections: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `public_ips: QuotaDimensionDetail`

    Quota dimension detail.

  - `vpcs: QuotaDimensionDetail`

    Quota dimension detail.

### Quota NKS

- `QuotaNKS`

  NKS quota.

  - `clusters: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `node_pool_memory_gb: QuotaDimensionDetail`

    Quota dimension detail.

  - `node_pool_vcpu: QuotaDimensionDetail`

    Quota dimension detail.

  - `public_ips: QuotaDimensionDetail`

    Quota dimension detail.

### Quota Storage

- `QuotaStorage`

  Storage quota.

  - `abs: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `local_nvme: QuotaDimensionDetail`

    Quota dimension detail.
