open-vault/website/pages/api-docs/system/lease-count-quotas.mdx

106 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: api
page_title: /sys/quotas/lease-count - HTTP API
sidebar_title: <code>/sys/quotas/lease-count</code>
description: The `/sys/quotas/lease-count` endpoint is used to create, edit and delete lease count quotas.
---
# `/sys/quotas/lease-count`
~> **Enterprise Only**  These endpoints require Vault Enterprise Platform.
The `/sys/quotas/lease-count` endpoint is used to create, edit and delete lease count quotas.
## Create or Update a Lease Count Quota
This endpoint is used to create a lease count quota with an identifier, `name`.
A lease count quota must include a `max_leases` value with an optional `path`
that can either be a namespace or mount.
| Method | Path |
| :----- | :------------------------------ |
| `POST` | `/sys/quotas/lease-count/:name` |
### Parameters
- `name` `(string: "")` - The name of the quota.
- `path` `(string: "")` - Path of the mount or namespace to apply the quota.
A blank path configures a global lease count quota. For example `namespace1/`
adds a quota to a full namespace, `namespace1/auth/userpass` adds a quota to
`userpass` in `namespace1`. Updating this field on an existing quota can have
"moving" effects. For example, updating `auth/userpass` to
`namespace1/auth/userpass` moves this quota from being a global mount quota to a
namespace specific mount quota.
- `max_leases` `(int: 0)` - Maximum number of leases allowed by the quota rule.
### Sample Payload
```json
{
"path": "",
"max_leases": 1000,
}
```
### Sample Request
```shell-session
$ curl \
--request POST \
--header "X-Vault-Token: ..." \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/quotas/lease-count/global-lease-count-quota
```
## Delete a Lease Count Quota
A lease count quota can be deleted by `name`.
| Method | Path |
| :------- | :------------------------------ |
| `DELETE` | `/sys/quotas/lease-count/:name` |
### Sample Request
```shell-session
$ curl \
--request DELETE \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/lease-count/global-lease-count-quota
```
## Get a Lease Count Quota
A lease count quota can be retrieved by `name`.
| Method | Path |
| :----- | :------------------------------ |
| `GET` | `/sys/quotas/lease-count/:name` |
### Sample Request
```shell-session
$ curl \
--request GET \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/lease-count/global-lease-count-quota
```
### Sample Response
```json
{
"request_id": "21514bc6-2c19-42b9-a8a7-cab27aff5815",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"max_leases": 1000,
"name": "global-lease-count-quota",
"path": "",
"type": "lease-count"
},
"warnings": null
}
```