openapi: 3.0.1
info:
title: FlashArray REST Active Directory Quotas API
version: '2.52'
description: 'Active Directory configuration authenticates users for NFS using Kerberos or SMB using Kerberos
or New Technology LAN Manager (NTLM). Active Directory is also used to authorize users by
mapping identities across the NFS and SMB protocols by using LDAP queries.
'
servers:
- url: /
tags:
- name: Quotas
description: A quota manages a set amount of space on a file system which a user or group may write to. A quota can be applied to a user or group of a specified file system. Once a user or group reaches their quota they will no longer be able to write to that file system.
paths:
/api/2.26/quotas/groups:
get:
tags:
- Quotas
summary: Pure Storage GET Quotas/groups
description: List groups with hard limit quotas.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Group_quota_gids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaGetResponse'
post:
tags:
- Quotas
summary: Pure Storage POST Quotas/groups
description: Create a hard limit quota for a group.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Group_quota_gids'
- $ref: '#/components/parameters/Group_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaPost'
required: false
x-codegen-request-body-name: quota
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaResponse'
x-codegen-request-body-name: quota
delete:
tags:
- Quotas
summary: Pure Storage DELETE Quotas/groups
description: Delete a hard limit quota for a group.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Group_quota_gids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content: {}
patch:
tags:
- Quotas
summary: Pure Storage PATCH Quotas/groups
description: Modify a quota for a group. Note that if you modify a group's quota to a lower value and that group's usage has already exceeded the new value, writes will automatically halt until usage decreases below the new quota setting.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Group_quota_gids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaPatch'
required: false
x-codegen-request-body-name: quota
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/GroupQuotaResponse'
x-codegen-request-body-name: quota
/api/2.26/quotas/settings:
get:
tags:
- Quotas
summary: Pure Storage GET Quotas-settings
description: List notification attributes of a group or user quota.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/QuotaSettingGetResponse'
patch:
tags:
- Quotas
summary: Pure Storage PATCH Quotas-settings
description: Modify the notification attributes of a group or user quota.
parameters:
- $ref: '#/components/parameters/XRequestId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QuotaSetting'
required: true
x-codegen-request-body-name: quota-setting
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/QuotaSettingResponse'
x-codegen-request-body-name: quota-setting
/api/2.26/quotas/users:
get:
tags:
- Quotas
summary: Pure Storage GET Quotas/users
description: List users with hard limit file system quotas.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/User_quota_uids'
- $ref: '#/components/parameters/User_names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaGetResponse'
post:
tags:
- Quotas
summary: Pure Storage POST Quotas/users
description: Create a hard limit file system quota for a user.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/User_quota_uids'
- $ref: '#/components/parameters/User_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaPost'
required: false
x-codegen-request-body-name: quota
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaResponse'
x-codegen-request-body-name: quota
delete:
tags:
- Quotas
summary: Pure Storage DELETE Quotas/users
description: Delete a hard limit file system quota for a user.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/User_quota_uids'
- $ref: '#/components/parameters/User_names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content: {}
patch:
tags:
- Quotas
summary: Pure Storage PATCH Quotas/users
description: Modify the attributes of a hard limit file system quota. Note that if you modify a user's quota to a lower value and that user’s usage has already exceeded the new value, writes will automatically halt until usage decreases below the new quota setting.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/File_system_ids'
- $ref: '#/components/parameters/File_system_names'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/User_quota_uids'
- $ref: '#/components/parameters/User_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaPatch'
required: false
x-codegen-request-body-name: quota
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UserQuotaResponse'
x-codegen-request-body-name: quota
components:
schemas:
GroupQuotaResponse:
type: object
properties:
items:
description: A list of quota objects.
type: array
items:
$ref: '#/components/schemas/GroupQuota'
_builtInNoId:
type: object
properties:
name:
description: Name of the object (e.g., a file system or snapshot).
type: string
readOnly: true
_errorContextResponseErrors:
type: object
properties:
context:
description: 'Contains information relating to the cause of this error,
or the name of the object that was being processed when the error was encountered.
This may be `null` for more general errors.
'
type: string
location_context:
description: 'Contains information relating to the context in which the request was executing
when the error occurred.
For example, this may be the name of an array in the same fleet.
This may be `null` for more general errors, or if no explicit `context` parameter
was provided with the request.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
message:
description: A description of the error which occurred.
type: string
example: Resource does not exist.
_errorContextResponse:
type: object
properties:
errors:
description: The list of errors encountered when attempting to perform an operation.
type: array
readOnly: true
items:
$ref: '#/components/schemas/_errorContextResponseErrors'
QuotaSettingGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/QuotaSettingResponse'
UserQuotaResponse:
type: object
properties:
items:
description: A list of quota objects.
type: array
items:
$ref: '#/components/schemas/UserQuota'
_fixedReferenceWithoutType:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
readOnly: true
name:
description: 'The resource name, such as volume name, file system name,
snapshot name, and so on.
'
type: string
readOnly: true
x-readOnly: true
GroupQuotaPatch:
allOf:
- $ref: '#/components/schemas/GroupQuotaPost'
UserQuota:
allOf:
- $ref: '#/components/schemas/_builtInNoId'
- $ref: '#/components/schemas/_context'
- type: object
properties:
file_system:
$ref: '#/components/schemas/_fixedReference'
file_system_default_quota:
description: 'File system''s default user quota (in bytes). If it is `0`, it means there
is no default quota. This will be the effective user quota if the user
doesn''t have an individual quota. This default quota is set through the
`file-systems` endpoint.
'
type: integer
format: int64
readOnly: true
quota:
description: 'The limit of the quota (in bytes) for the specified user, cannot be `0`.
If specified, this value will override the file system''s default user
quota.
'
type: integer
format: int64
usage:
description: 'The usage of the file system (in bytes) by the specified user.
'
type: integer
format: int64
readOnly: true
user:
description: The user on which this quota is enforced.
title: User
allOf:
- $ref: '#/components/schemas/_user'
QuotaSettingResponse:
type: object
properties:
items:
description: A list of quota settings objects.
type: array
items:
$ref: '#/components/schemas/QuotaSetting'
_builtIn:
type: object
properties:
id:
description: 'A non-modifiable, globally unique ID chosen by the system.
'
type: string
readOnly: true
name:
description: Name of the object (e.g., a file system or snapshot).
type: string
readOnly: true
_user:
type: object
properties:
id:
description: The numeric user id that represents the user's identity in a POSIX system.
type: integer
format: int64
name:
description: 'The user name that represents the user''s identity, and which resolves to the user''s id
in a configured directory service.
'
type: string
_group:
type: object
properties:
id:
description: The numeric group id that represents the group's identity in a POSIX system.
type: integer
format: int64
name:
description: 'The group name that represents the group''s identity, and which resolves to the group''s id
in a configured directory service.
'
type: string
_context:
type: object
properties:
context:
description: 'The context in which the operation was performed.
Valid values include a reference to any array which is a member of the same fleet
or to the fleet itself.
Other parameters provided with the request, such as names of volumes or snapshots,
are resolved relative to the provided `context`.
'
readOnly: true
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
UserQuotaGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/UserQuotaResponse'
- $ref: '#/components/schemas/_errorContextResponse'
GroupQuotaGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/GroupQuotaResponse'
- $ref: '#/components/schemas/_errorContextResponse'
UserQuotaPatch:
allOf:
- $ref: '#/components/schemas/UserQuotaPost'
GroupQuotaPost:
allOf:
- $ref: '#/components/schemas/_builtInNoId'
- type: object
required:
- quota
properties:
quota:
description: 'The space limit of the quota (in bytes) for the specified group, cannot
be `0`. If specified, this value will override the file system''s default
group quota.
'
type: integer
format: int64
GroupQuota:
allOf:
- $ref: '#/components/schemas/_builtInNoId'
- $ref: '#/components/schemas/_context'
- type: object
properties:
file_system:
$ref: '#/components/schemas/_fixedReference'
file_system_default_quota:
description: 'File system''s default group quota (in bytes). If it is `0`, it means
there is no default quota. This will be the effective group quota if
the group doesn''t have an individual quota. This default quota is set
through the `file-systems` endpoint.
'
type: integer
format: int64
readOnly: true
group:
description: The group on which this quota is enforced.
title: Group
allOf:
- $ref: '#/components/schemas/_group'
quota:
description: 'The space limit of the quota (in bytes) for the specified group, cannot
be `0`. If specified, this value will override the file system''s default
group quota.
'
type: integer
format: int64
usage:
description: 'The usage of the file system (in bytes) by the specified group.
'
type: integer
format: int64
readOnly: true
QuotaSetting:
allOf:
- $ref: '#/components/schemas/_builtIn'
- type: object
properties:
contact:
description: 'The contact information that will be provided in any notifications
sent directly to users and groups. This can be an email, a phone
number, a name, or some other form of contact information.
'
type: string
example: John Doe, john@example.com
direct_notifications_enabled:
description: 'Are notifications regarding space usage and quotas being sent directly
to user and group emails?
'
type: boolean
_fixedReference:
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithoutType'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are the unique part of the resource''s REST endpoint.
For example, a reference to a file system would have a
`resource_type` of `file-systems`.
'
type: string
readOnly: true
UserQuotaPost:
allOf:
- $ref: '#/components/schemas/_builtInNoId'
- type: object
required:
- quota
properties:
quota:
description: 'The limit of the quota (in bytes) for the specified user, cannot be `0`.
If specified, this value will override the file system''s default user
quota.
'
type: integer
format: int64
PageInfo:
type: object
properties:
continuation_token:
description: 'Continuation token that can be provided in the `continuation_token` query
param to get the next page of data.
If you use the `continuation_token` to page through data you
are guaranteed to get all items exactly once regardless of
how items are modified. If an item is added or deleted during
the pagination then it may or may not be returned.
The `continuation_token` is generated if the `limit` is less
than the remaining number of items, and the default sort is used
(no sort is specified).
'
type: string
total_item_count:
description: Total number of items after applying `filter` params.
type: integer
format: int32
parameters:
File_system_ids:
name: file_system_ids
in: query
description: 'A comma-separated list of file system IDs.
If after filtering, there is not at least one resource that matches
each of the elements of `file_system_ids`, then an error is returned.
This cannot be provided together with the `file_system_names` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: string
Filter:
name: filter
in: query
description: 'Narrows down the results to only the response objects
that satisfy the filter criteria.
'
schema:
type: string
Offset:
name: offset
in: query
description: 'The offset of the first resource to return from a collection.
'
schema:
type: integer
format: int32
minimum: 0
example: 10
User_names:
name: user_names
in: query
description: 'A comma-separated list of user names.
If there is not at least one resource that matches
each of the elements of `user_names`, then an error is returned.
This cannot be provided together with `uids` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: string
File_system_names:
name: file_system_names
in: query
description: 'A comma-separated list of file system names.
If there is not at least one resource that matches
each of the elements of `file_system_names`, then an error is returned.
'
style: form
explode: false
schema:
type: array
items:
type: string
Allow_errors:
name: allow_errors
in: query
description: 'If set to `true`, the API will allow the operation to continue even if there are errors.
Any errors will be returned in the `errors` field of the response.
If set to `false`, the operation will fail if there are any errors.
'
schema:
type: boolean
default: false
Continuation_token:
name: continuation_token
in: query
description: 'A token used to retrieve the next page of data
with some consistency guaranteed.
The token is a Base64 encoded value.
Set `continuation_token` to the system-generated token taken from the `x-next-token`
header field of the response.
A query has reached its last page when the response does not include a token.
Pagination requires the `limit` and `continuation_token`
query parameters.
'
schema:
type: string
Context_names:
name: context_names
in: query
description: 'Performs the operation on the context specified.
If specified, the context names must be an array of size 1, and the single element
must be the name of an array in the same fleet or the name of the fleet itself. If
not specified, the context will default to the array that received this request.
Other parameters provided with the request, such as names of volumes or snapshots,
are resolved relative to the provided `context`.
'
style: form
explode: false
schema:
type: array
items:
type: string
XRequestId:
name: X-Request-ID
in: header
description: 'Supplied by client during request or generated by server.
'
schema:
type: string
Limit:
name: limit
in: query
description: 'Limits the size of the response to the specified number of objects on each page.
To return the total number of resources, set `limit=0`.
The total number of resources is returned as a `total_item_count` value.
If the page size requested is larger than the system maximum limit,
the server returns the maximum limit, disregarding the requested page size.
'
schema:
type: integer
format: int32
minimum: 0
example: 10
Names:
name: names
in: query
description: 'Performs the operation on the unique names specified.
Enter multiple names in comma-separated format.
For example, `name01,name02`.
If there is not at least one resource that matches
each of the elements of `names`, then an error is returned,
except when creating new resources.
'
style: form
explode: false
schema:
type: array
items:
type: string
Context_names_get:
name: context_names
in: query
description: 'Performs the operation on the unique contexts specified.
If specified, each context name must be the name of an array in the same fleet or
the name of the fleet itself.
If not specified, the context will default to the array that received this request.
Other parameters provided with the request, such as names of volumes or snapshots,
are resolved relative to the provided `context`.
Enter multiple names in comma-separated format.
For example, `name01,name02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Group_quota_gids:
name: gids
in: query
description: 'A comma-separated list of group IDs.
If there is not at least one resource that matches
each of the elements of `gids`, then an error is returned.
This cannot be provided together with `group_names` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: integer
format: int32
Ids:
name: ids
in: query
description: 'A comma-separated list of resource IDs.
If after filtering, there is not at least one resource that matches
each of the elements of `ids`, then an error is returned.
This cannot be provided together with the `name` or `names` query parameters.
'
style: form
explode: false
schema:
type: array
items:
type: string
User_quota_uids:
name: uids
in: query
description: 'A comma-separated list of user IDs.
If there is not at least one resource that matches
each of the elements of `uids`, then an error is returned.
This cannot be provided together with `user_names` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: integer
format: int32
Group_names:
name: group_names
in: query
description: 'A comma-separated list of group names.
If there is not at least one resource that matches
each of the elements of `group_names`, then an error is returned.
This cannot be provided together with `gids` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: string
Sort:
name: sort
in: query
description: 'Sort the response by the specified fields (in descending order if ''-''
is appended to the field name).
NOTE: If you provide a sort you will not get a `continuation_token` in
the response.
'
style: form
explode: false
schema:
type: array
items:
pattern: ^[a-z]+(_[a-z]+)*-?
type: string