# Quotas

## Get Region Quota

`$ nirvana quotas get`

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

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

### Parameters

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

  Region name

### Returns

- `quota: object { compute, networking, nks, 2 more }`

  Quota response.

  - `compute: object { memory_gb, vcpu }`

    Compute quota.

    - `memory_gb: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

  - `networking: object { connect_connections, public_ips, vpcs }`

    Networking quota.

    - `connect_connections: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `public_ips: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vpcs: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

  - `nks: object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

    NKS quota.

    - `clusters: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `node_pool_memory_gb: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `node_pool_vcpu: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `public_ips: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

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

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: object { abs, local_nvme }`

    Storage quota.

    - `abs: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `local_nvme: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

### Example

```cli
nirvana quotas get \
  --api-key 'My API Key' \
  --region us-sva-2
```

#### 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

`$ nirvana quotas list`

**get** `/v1/quotas`

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

### Returns

- `quota_list: object { items, pagination }`

  - `items: array of Quota`

    - `compute: object { memory_gb, vcpu }`

      Compute quota.

      - `memory_gb: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

    - `networking: object { connect_connections, public_ips, vpcs }`

      Networking quota.

      - `connect_connections: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `public_ips: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vpcs: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

    - `nks: object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

      NKS quota.

      - `clusters: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `node_pool_memory_gb: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `node_pool_vcpu: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `public_ips: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

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

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: object { abs, local_nvme }`

      Storage quota.

      - `abs: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `local_nvme: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

  - `pagination: object { next_cursor, previous_cursor, total_count }`

    Pagination response details.

    - `next_cursor: string`

    - `previous_cursor: string`

    - `total_count: number`

### Example

```cli
nirvana quotas list \
  --api-key 'My API Key'
```

#### 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: object { compute, networking, nks, 2 more }`

  Quota response.

  - `compute: object { memory_gb, vcpu }`

    Compute quota.

    - `memory_gb: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

  - `networking: object { connect_connections, public_ips, vpcs }`

    Networking quota.

    - `connect_connections: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `public_ips: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vpcs: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

  - `nks: object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

    NKS quota.

    - `clusters: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `node_pool_memory_gb: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `node_pool_vcpu: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `public_ips: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

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

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: object { abs, local_nvme }`

    Storage quota.

    - `abs: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `local_nvme: object { limit, remaining, used }`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

### Quota Compute

- `quota_compute: object { memory_gb, vcpu }`

  Compute quota.

  - `memory_gb: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `vcpu: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

### Quota Dimension Detail

- `quota_dimension_detail: object { limit, remaining, used }`

  Quota dimension detail.

  - `limit: number`

  - `remaining: number`

  - `used: number`

### Quota List

- `quota_list: object { items, pagination }`

  - `items: array of Quota`

    - `compute: object { memory_gb, vcpu }`

      Compute quota.

      - `memory_gb: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

    - `networking: object { connect_connections, public_ips, vpcs }`

      Networking quota.

      - `connect_connections: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `public_ips: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vpcs: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

    - `nks: object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

      NKS quota.

      - `clusters: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `node_pool_memory_gb: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `node_pool_vcpu: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `public_ips: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

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

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: object { abs, local_nvme }`

      Storage quota.

      - `abs: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `local_nvme: object { limit, remaining, used }`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

  - `pagination: object { next_cursor, previous_cursor, total_count }`

    Pagination response details.

    - `next_cursor: string`

    - `previous_cursor: string`

    - `total_count: number`

### Quota Networking

- `quota_networking: object { connect_connections, public_ips, vpcs }`

  Networking quota.

  - `connect_connections: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `public_ips: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `vpcs: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

### Quota NKS

- `quota_nks: object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

  NKS quota.

  - `clusters: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `node_pool_memory_gb: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `node_pool_vcpu: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `public_ips: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

### Quota Storage

- `quota_storage: object { abs, local_nvme }`

  Storage quota.

  - `abs: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `local_nvme: object { limit, remaining, used }`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`
