# pool.dataset.set_quota

Allow users to set multiple quotas simultaneously by submitting a list of quotas.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: dataset

#### dataset

Type: string

The name of the target ZFS dataset.

##### Parameter 2: quotas

#### quotas

Type: array of object
Default:
[ { "quota_type": "USER", "id": "0", "quota_value": 0 } ]

Specify an array of quota entries to apply to dataset. The array may contain all supported quota types.

Must contain a maximum of `100` items

No Additional Items

##### Each item of this array must be:

#### PoolDatasetSetQuota

Type: object
No Additional Properties

##

#### Quota Type

Type: enum (of string)

The type of quota to apply to the dataset. There are three over-arching types of quotas for ZFS datasets:

- Dataset quotas and refquotas. If a `DATASET` quota type is specified in this API call, then the API acts as a wrapper for `pool.dataset.update`.
- User and group quotas. These limit the amount of disk space consumed by files that are owned by the specified users or groups. If the respective "object quota" type is specfied, then the quota limits the number of objects that may be owned by the specified user or group.
- Project quotas. These limit the amount of disk space consumed by files that are owned by the specified project. Project quotas are not yet implemented.

##### Must be one of:

- "DATASET"
- "USER"
- "USEROBJ"
- "GROUP"
- "GROUPOBJ"

##

#### Id

Type: string

The UID, GID, or name to which the quota applies. If `quota_type` is 'DATASET', then `id` must be either `QUOTA` or `REFQUOTA`.

##

#### Quota Value

The quota size in bytes. Setting a value of `0` removes the user or group quota.

## Any of

Type: integer
Type: null

##

#### Result

Type: null

Returns `null` on successful quota update.

Required roles: DATASET_WRITE