openapi: 3.0.1
info:
title: FlashArray REST Active Directory User Group 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: User Group Quotas
description: 'User Group quotas provide the ability to set capacity limits for users and groups in managed
directories.
'
paths:
/api/2.52/directory-group-quotas:
get:
tags:
- User Group Quotas
summary: Pure Storage List Group Quotas.
description: 'Displays a list of groups and the group quota rules that affect their usage limits.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Directory_ids'
- $ref: '#/components/parameters/Directory_names'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Group_quota_gids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Group_sids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryGroupQuotasGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryGroupQuotasGetResponse'
/api/2.52/directory-user-quotas:
get:
tags:
- User Group Quotas
summary: Pure Storage List User Quotas.
description: 'Displays a list of users and the user quota rules that affect their usage limits.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Directory_ids'
- $ref: '#/components/parameters/Directory_names'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/User_quota_uids'
- $ref: '#/components/parameters/User_names'
- $ref: '#/components/parameters/User_sids'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryUserQuotasGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryUserQuotasGetResponse'
/api/2.26/file-system-group-quotas:
get:
summary: Pure Storage GET /File-system-group-quotas
description: Lists groups with their respective usage and all the quota rules applicable to them.
tags:
- User Group 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/Gids'
- $ref: '#/components/parameters/Group_names_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset_2'
- $ref: '#/components/parameters/Sort_2'
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/FileSystemGroupQuotaGetResponse'
'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/FileSystemGroupQuotaGetResponse'
/api/2.26/file-system-user-quotas:
get:
summary: Pure Storage GET /File-system-user-quotas
description: Lists users with their respective usage and all the quota rules applicable to them.
tags:
- User Group 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/Offset_2'
- $ref: '#/components/parameters/Sort_2'
- $ref: '#/components/parameters/Uids'
- $ref: '#/components/parameters/User_names_2'
- $ref: '#/components/parameters/User_sids_2'
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/FileSystemUserQuotaGetResponse'
'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/FileSystemUserQuotaGetResponse'
components:
schemas:
_groupSubject:
type: object
properties:
id:
type: integer
format: int64
description: The numeric group id that represents the group's identity in a POSIX system.
name:
type: string
description: 'The group name that represents the group''s identity, and which resolves to the group''s id
in a configured directory service.
'
sid:
type: string
description: 'The SMB SID that represents the group domain''s security identity in a WINDOWS system.
'
_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_2'
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'
DirectoryUserQuotasResponse:
type: object
properties:
items:
description: 'Displays a list of all items after filtering.
If applicable, the values are displayed for each name.
'
type: array
items:
$ref: '#/components/schemas/DirectoryUserQuota'
DirectoryGroupQuota:
allOf:
- $ref: '#/components/schemas/_context'
- type: object
properties:
directory:
description: 'The directory with the user-group-quota policy attached.
'
title: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
group:
description: 'The group for which the user-group-quota policy rules apply.
'
title: UserGroup
allOf:
- $ref: '#/components/schemas/UserGroup'
group_email:
description: 'The email address of the group.
'
type: string
readOnly: true
path:
description: 'Absolute path of the managed directory in the file system.
'
type: string
readOnly: true
percentage_used:
description: 'The ratio of the quota usage to the quota limit.
The usage has reached the quota limit if it reaches 1.0.
'
type: number
format: float
readOnly: true
quota_usage:
description: 'The total usage owned by the group that is accountable to the user-group-quota
policy rules. The applicable rules may be enforced or unenforced. The usage is
measured in bytes.
'
type: integer
format: int64
readOnly: true
rule:
description: 'The user-group-quota rule that applies to the group.
'
title: DirectoryUserQuotaRule
allOf:
- $ref: '#/components/schemas/DirectoryUserQuotaRule'
DirectoryUserQuotaRule:
type: object
properties:
effectiveness:
description: 'Describes whether the rule is the most effective rule that applies to the user.
Possible values are `effective` and `ineffective_limit`.
If the value is `effective` then the rule is the most effective rule for the user.
If the value is `ineffective_limit` then there is at least one enforced rule with
a lower quota limit that also applies to the user,
resulting in the quota limit of the rule not being the most effective.
'
type: string
readOnly: true
enabled:
description: 'Where the user-group-quota policy is enabled.
If `true` the rules in the policy impact the amount of usage the user can own in the
managed directory.
If `false` the rules in the policy do not have an effect.
'
type: boolean
readOnly: true
enforced:
description: 'Determines whether the quota limit in the rule is enforced.
If `true`, the user will be out of the allowed available space when usage reaches the quota
limit.
If `false`, the allowed usage may grow beyond the quota limit, but the user will be notified.
'
type: boolean
readOnly: true
policy:
description: 'The user-group-quota policy with rules impacting the usage of the user.
'
title: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
quota_limit:
description: 'The logical space limit assigned by the user-group-quota rule.
'
type: integer
format: int64
readOnly: true
quota_type:
description: 'The type of the user-group-quota rule. The `user-default`, `user` and `user-group-member`
types impact the user.
'
type: string
readOnly: true
rule_name:
description: 'The unique name of the user-group-quota policy rule.
'
type: string
readOnly: true
subject:
description: 'The rule subject if the quota type is `user` or `user-group-member`. For `user` type, the
subject matches the user impacted by the quota rule. For `user-group-member` type, the
subject matches a group that the user is a member of.
'
title: PolicyRuleUserGroupQuotaSubject
allOf:
- $ref: '#/components/schemas/PolicyRuleUserGroupQuotaSubject'
FileSystemGroupQuota:
allOf:
- $ref: '#/components/schemas/_context_2'
- properties:
file_system:
$ref: '#/components/schemas/_fixedReference_2'
group:
description: The group on which this quota is enforced.
title: GroupSubject
allOf:
- $ref: '#/components/schemas/_groupSubject'
percentage_used:
description: 'The ratio of the quota usage to the quota limit, with 1.0 meaning that the
usage has reached the quota limit.
'
type: number
format: float
readOnly: true
policy_rule:
description: The policy rule which enforced this quota limit.
title: UserGroupQuotaPolicyRule
allOf:
- $ref: '#/components/schemas/UserGroupQuotaPolicyRule'
usage:
type: integer
format: int64
description: 'The usage of the file system (in bytes) by the specified group.
'
readOnly: true
_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
UserGroupQuotaSubject:
type: object
properties:
id:
type: integer
format: int64
description: UID/GID of the subject.
name:
type: string
description: Name of the subject.
sid:
type: string
description: SID of the subject.
_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: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
message:
description: A description of the error which occurred.
type: string
example: Resource does not exist.
x-aliases:
- _errorContextResponseErrors
_errorContextResponse_2:
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'
UserGroupQuotaPolicyRuleBase:
allOf:
- $ref: '#/components/schemas/_builtIn'
- properties:
enforced:
description: 'If set to `true`, this rule describes an enforced quota. A quota error
is issued if the logical space usage of the subject exceeds the limit value
described in this rule.
'
type: boolean
notifications:
description: 'Specifies whether to send notifications to the affected quota subject or not.
Valid values are `None` and `Account`.
Defaults to `Account`.
'
type: string
policy:
description: The policy to which this rule belongs.
readOnly: true
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
policy_version:
description: 'The policy''s version. This can be used when updating the
resource to ensure there aren''t any updates to the policy since the resource was read.
'
type: string
readOnly: true
quota_limit:
description: 'The limit of the quota (in bytes) for the specified user, cannot be `0`.
If specified, this value will override the default quota for that particular subject type.
'
type: integer
format: int64
quota_type:
description: 'Specifies quota type for the quota policy. Valid values are `user`, `group`,
`user-default`and `group-default`.
`user-default` and `group-default` cannot be specified with a subject.
'
type: string
subject:
description: The user or group subject on which this rule is applied
title: UserGroupQuotaSubject
allOf:
- $ref: '#/components/schemas/UserGroupQuotaSubject'
FileSystemGroupQuotaResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/FileSystemGroupQuota'
description: A list of groups and rules enforceable on them.
DirectoryUserQuotasGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/DirectoryUserQuotasResponse'
- $ref: '#/components/schemas/_errorContextResponse'
_fixedReferenceWithType:
allOf:
- $ref: '#/components/schemas/_fixedReference'
- 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
x-aliases:
- _fixedReference
DirectoryGroupQuotasResponse:
type: object
properties:
items:
description: 'Displays a list of all items after filtering.
If applicable, the values are displayed for each name.
'
type: array
items:
$ref: '#/components/schemas/DirectoryGroupQuota'
FileSystemUserQuotaGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo_2'
- $ref: '#/components/schemas/FileSystemUserQuotaResponse'
- $ref: '#/components/schemas/_errorContextResponse_2'
_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
UserGroupQuotaPolicyRule:
allOf:
- $ref: '#/components/schemas/UserGroupQuotaPolicyRuleBase'
- $ref: '#/components/schemas/_policyRuleIndex'
- $ref: '#/components/schemas/_context_2'
UserGroup:
type: object
properties:
id:
description: 'The user or group id.
'
type: integer
format: int64
readOnly: true
name:
description: 'The name of the user or group.
'
type: string
readOnly: true
sid:
description: 'The user or group Security Identifier (SID).
'
type: string
readOnly: true
DirectoryUserQuota:
allOf:
- $ref: '#/components/schemas/_context'
- type: object
properties:
directory:
description: 'The directory with the user-group-quota policy attached.
'
title: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
path:
description: 'Absolute path of the managed directory in the file system.
'
type: string
readOnly: true
percentage_used:
description: 'The ratio of the quota usage to the quota limit.
The usage has reached the quota limit if it reaches 1.0.
'
type: number
format: float
readOnly: true
quota_usage:
description: 'The total usage owned by the user that is accountable to the user-group-quota
policy rules, measured in bytes.
The applicable rules may be enforced or unenforced.
'
type: integer
format: int64
readOnly: true
rule:
description: 'The user-group-quota rule that applies to the user.
'
title: DirectoryUserQuotaRule
allOf:
- $ref: '#/components/schemas/DirectoryUserQuotaRule'
user:
description: 'The user for which the user-group-quota policy rules apply.
'
title: UserGroup
allOf:
- $ref: '#/components/schemas/UserGroup'
user_email:
description: 'The email address of the user.
'
type: string
readOnly: true
_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: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
_context_2:
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_2'
FileSystemUserQuota:
allOf:
- $ref: '#/components/schemas/_context_2'
- properties:
file_system:
$ref: '#/components/schemas/_fixedReference_2'
percentage_used:
description: 'The ratio of the quota usage to the quota limit, with 1.0 meaning that the
usage has reached the quota limit.
'
type: number
format: float
readOnly: true
policy_rule:
description: The policy rule which enforced this quota limit.
title: UserGroupQuotaPolicyRule
allOf:
- $ref: '#/components/schemas/UserGroupQuotaPolicyRule'
usage:
type: integer
format: int64
description: 'The usage of the file system (in bytes) by the specified user.
'
readOnly: true
user:
description: The user on which this quota is enforced.
title: UserSubject
allOf:
- $ref: '#/components/schemas/_userSubject'
_userSubject:
type: object
properties:
id:
type: integer
format: int64
description: The numeric user id that represents the user's identity in a POSIX system.
name:
type: string
description: 'The user name that represents the user''s identity, and which resolves to the user''s id
in a configured directory service.
'
sid:
type: string
description: 'The SMB SID that represents the user''s security identity in a WINDOWS system.
'
_policyRuleIndex:
type: object
properties:
index:
description: 'The index within the policy. The `index` indicates the order the rules are evaluated.
NOTE: It is recommended to use the query param `before_rule_id` to do reordering to
avoid concurrency issues, but changing `index` is also supported. `index` can not be
changed if `before_rule_id` or `before_rule_name` are specified.
'
type: integer
format: int32
FileSystemGroupQuotaGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo_2'
- $ref: '#/components/schemas/FileSystemGroupQuotaResponse'
- $ref: '#/components/schemas/_errorContextResponse_2'
_fixedReference_2:
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
DirectoryGroupQuotasGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/DirectoryGroupQuotasResponse'
- $ref: '#/components/schemas/_errorContextResponse'
FileSystemUserQuotaResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/FileSystemUserQuota'
description: A list of users and rules enforceable on them.
PolicyRuleUserGroupQuotaSubject:
type: object
properties:
id:
description: 'The subject User Identifier (UID) or Group Identifier (GID).
'
type: integer
format: int64
readOnly: true
name:
description: 'The subject name. The name can have a `@domain` suffix.
'
type: string
readOnly: true
sid:
description: 'The subject SID, which uniquely identifies a user or group.
'
type: string
readOnly: true
PageInfo_2:
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
_fixedReference:
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
x-aliases:
- _fixedReferenceWithoutType
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
more_items_remaining:
description: 'Returns a value of `true` if subsequent items can be retrieved.
'
type: boolean
example: false
total_item_count:
description: 'The total number of records after applying all filter query parameters.
The `total_item_count` will be calculated if and only if the corresponding
query parameter `total_item_count` is set to `true`. If this query parameter
is not set or set to `false`, a value of `null` will be returned.
'
type: integer
format: int32
parameters:
Directory_names:
name: directory_names
in: query
description: 'Performs the operation on the managed directory names specified.
Enter multiple full managed directory names in comma-separated format.
For example, `fs:dir01,fs:dir02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
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`
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-user-group-quotas-api-openapi.yml