openapi: 3.0.1
info:
title: FlashArray REST Active Directory Object Store Accounts 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: Object Store Accounts
description: Manages object store accounts. Accounts contain buckets and users. Accounts must be created before an object store user or buckets can be created.
paths:
/api/2.52/object-store-accounts:
get:
tags:
- Object Store Accounts
summary: Pure Storage GET Object-store-accounts
description: The list of object store accounts and their associated attributes.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Total_only'
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/ObjectStoreAccountGetResponse'
'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/ObjectStoreAccountGetResponse'
post:
tags:
- Object Store Accounts
summary: Pure Storage POST Object-store-accounts
description: The creation of an object store account.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_required'
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/ObjectStoreAccountResponse'
x-codegen-request-body-name: object-store-account
delete:
tags:
- Object Store Accounts
summary: Pure Storage DELETE Object-store-accounts
description: The deletion of an object store account.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $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: {}
/api/2.52/object-store-accounts/space:
get:
tags:
- Object Store Accounts
summary: Pure Storage List Object Store Account Space Information
description: 'The monitoring interface or dataset that provides `physical storage`
`consumption` data for each `object store account`.
'
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/History_end_time'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/History_resolution'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/History_start_time'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Total_only'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceObjectStoreAccountSpaceGetResponse'
'207':
description: 'The status indicating a partial success. While some `resources`
were successfully returned, specific `errors` occurred during
the operation that may have prevented the full set of
requested data from being retrieved.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceObjectStoreAccountSpaceGetResponse'
/api/2.26/object-store-accounts:
get:
tags:
- Object Store Accounts
summary: Pure Storage GET Object-store-accounts
description: List object store accounts and their attributes.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset_2'
- $ref: '#/components/parameters/Sort_2'
- $ref: '#/components/parameters/Total_only'
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/ObjectStoreAccountGetResponse_2'
'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/ObjectStoreAccountGetResponse_2'
post:
tags:
- Object Store Accounts
summary: Pure Storage POST Object-store-accounts
description: 'Create an object store account.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_required_2'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStoreAccountPost'
required: false
x-codegen-request-body-name: object-store-account
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/ObjectStoreAccountResponse'
x-codegen-request-body-name: object-store-account
delete:
tags:
- Object Store Accounts
summary: Pure Storage DELETE Object-store-accounts
description: Delete an object store account.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_2'
- $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:
- Object Store Accounts
summary: Pure Storage PATCH Object-store-accounts
description: Modify object store account attributes such as quota limit and bucket defaults.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Ignore_usage'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStoreAccountPatch'
required: true
x-codegen-request-body-name: object-store-account
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/ObjectStoreAccountResponse'
x-codegen-request-body-name: object-store-account
/api/1.5/object-store-accounts:
get:
tags:
- Object Store Accounts
summary: Pure Storage Get Object Store Accounts
description: 'Retrieves object store accounts.
'
parameters:
- $ref: '#/components/parameters/Authorization_2'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token_2'
- $ref: '#/components/parameters/Filter_2'
- $ref: '#/components/parameters/Ids_3'
- $ref: '#/components/parameters/Limit_2'
- $ref: '#/components/parameters/Names_2'
- $ref: '#/components/parameters/Offset_3'
- $ref: '#/components/parameters/Sort_3'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: integer
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: integer
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: integer
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStoreAccountGetResponse_3'
'400':
$ref: '#/components/responses/Error400'
'403':
$ref: '#/components/responses/Error403'
'404':
$ref: '#/components/responses/Error404'
'429':
$ref: '#/components/responses/Error429'
'500':
$ref: '#/components/responses/Error500'
components:
schemas:
_builtIn_2:
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
_timeAware:
type: object
properties:
_as_of:
description: The freshness of the data (timestamp in millis since epoch).
type: integer
format: int64
readOnly: true
example: 1502729489760
ErrorNoContext:
type: object
properties:
message:
type: string
example: Something was wrong
ObjectStoreAccountPost:
type: object
properties:
account_exports:
description: 'A list of exports to be created for the account.
If ommited or set to `null`, the default server for object store will be used.
Use `[]` to create an account without any export.
'
type: array
items:
title: ServerForAccountExport
allOf:
- $ref: '#/components/schemas/_serverForAccountExport'
bucket_defaults:
description: 'Default settings to be applied to newly created buckets associated with
this account. Values here will be used in bucket creation requests which
do not specify their own values for corresponding fields.
'
title: BucketDefaults
allOf:
- $ref: '#/components/schemas/_bucketDefaults'
hard_limit_enabled:
description: 'If set to `true`, the account''s size, as defined by `quota_limit`,
is used as a hard limit quota.
If set to `false`, a hard limit quota will not be applied to the
account, but soft quota alerts will still be sent if the account has
a value set for `quota_limit`.
If not specified, defaults to `false`.
'
type: boolean
quota_limit:
description: 'The effective quota limit to be applied against the size of the account, displayed in bytes.
If set to an empty string (`""`), the account is unlimited in size. If not specified,
defaults to unlimited.
'
type: string
ResourceObjectStoreAccountSpaceGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/_errorContextResponse'
- type: object
properties:
items:
description: 'Displays a list of all items after filtering.
If applicable, the values are displayed for each name.
If `total_only=true`, the `items` list will be empty.
'
type: array
items:
$ref: '#/components/schemas/ResourceObjectStoreAccountSpace'
total:
description: 'The aggregate value of all items after filtering.
Where it makes more sense, the average value is displayed instead.
If applicable, the values are displayed for each field.
'
type: array
items:
$ref: '#/components/schemas/ResourceObjectStoreAccountSpace'
ObjectStoreAccountGetResponse_2:
allOf:
- $ref: '#/components/schemas/PageInfo_2'
- $ref: '#/components/schemas/_errorContextResponse_2'
- $ref: '#/components/schemas/ObjectStoreAccountResponse'
- type: object
properties:
total:
description: 'If `total_only` query param is `true`, then this field will be a total of
all records after filtering and no items will be returned.
If `total_only` is `false`, then it will be a total of all records
on this page.
'
title: ObjectStoreAccount
allOf:
- $ref: '#/components/schemas/ObjectStoreAccount_2'
ObjectStoreAccount:
allOf:
- $ref: '#/components/schemas/_builtIn'
- $ref: '#/components/schemas/_objectStoreAccountBase'
- type: object
description: 'The object store account is a logical container for buckets, users, and other object store
entities and resources. It provides a namespace for storing and managing these objects, allowing
users to organize and access their data efficiently.
'
properties:
space:
description: 'The size and space consumption details.
'
title: Space
allOf:
- $ref: '#/components/schemas/_space'
_builtIn:
description: 'A built-in resource. Many are singletons predefined by Purity (e.g., support
settings). Some correspond to a piece of software, like an app, or hardware,
like a controller. Others are created by the system in response to some event
(e.g., alerts, audit records).
Typically, a user can''t create, delete or rename a built-in resource. A few
can be created or deleted, but not renamed because the names are meaningful
to Purity (e.g., VIFs).
'
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
name:
description: 'A locally unique, system-generated name. The name cannot be modified.
'
type: string
readOnly: true
ObjectStoreAccountGetResponse_3:
allOf:
- $ref: '#/components/schemas/PageInfo_3'
- $ref: '#/components/schemas/ObjectStoreAccountResponse_2'
ObjectStoreAccount_2:
allOf:
- $ref: '#/components/schemas/_builtIn_2'
- $ref: '#/components/schemas/_context_2'
- type: object
properties:
bucket_defaults:
description: 'Default settings to be applied to newly created buckets associated with
this account. Values here will be used in bucket creation requests which
do not specify their own values for corresponding fields.
'
title: BucketDefaultsReadonly
allOf:
- $ref: '#/components/schemas/_bucketDefaultsReadonly'
created:
description: Creation timestamp of the object.
type: integer
format: int64
readOnly: true
hard_limit_enabled:
description: 'If set to `true`, the account''s size, as defined by `quota_limit`,
is used as a hard limit quota.
If set to `false`, a hard limit quota will not be applied to the
account, but soft quota alerts will still be sent if the account has
a value set for `quota_limit`.
'
type: boolean
object_count:
description: The count of objects within the account.
type: integer
format: int64
readOnly: true
public_access_config:
$ref: '#/components/schemas/_publicAccessConfig'
quota_limit:
description: 'The effective quota limit applied against the size of the account, displayed in bytes.
If unset, the account is unlimited in size.
'
type: integer
realms:
description: 'The realms containing this account.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_fixedReference_2'
space:
description: The space specification of the object store account.
title: Space
allOf:
- $ref: '#/components/schemas/_space_2'
PageInfo_3:
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
example: MThkMzJmYWUtZDI3OS00ODEzLWIzODYtMmM3NmFhMTMwM2My
total_item_count:
description: Total number of items after applying filter params.
type: integer
format: int32
example: 1
_space:
type: object
properties:
data_reduction:
description: 'The ratio of mapped sectors within a volume versus
the amount of physical space the data occupies after data compression and deduplication.
The data reduction ratio does not include thin provisioning savings.
For example, a data reduction ratio of 5:1 means that
for every 5 MB the host writes to the array, 1 MB is stored on the array''s flash modules.
'
type: number
format: float
readOnly: true
footprint:
description: 'The maximum amount of physical space the container consumes on an array,
ignoring any data shared outside the container, measured in bytes.
On Evergreen//One arrays, this is the maximum amount of effective used space.
The footprint metric is mostly used for capacity planning.
This field will be null in non-container contexts.
'
type: integer
format: int64
minimum: 0
readOnly: true
shared:
description: 'The physical space occupied by deduplicated data, meaning that the space is shared with other
volumes and snapshots as a result of data deduplication.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by data that is not unique
to a specific volume, managed directory, or snapshot, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 111863360624
snapshots:
description: 'The physical space occupied by data unique to one or more snapshots.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by data unique to one or
more snapshots, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
system:
description: 'The physical space occupied by internal array metadata. Measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
thin_provisioning:
description: 'The percentage of volume sectors that do not contain host-written data
because the hosts have not written data to them or the sectors have been explicitly trimmed.
'
type: number
format: float
minimum: 0
maximum: 1
readOnly: true
total_physical:
description: 'This field has been deprecated.
Use the `total_used` field, as it contains the same information.
'
type: integer
format: int64
minimum: 0
readOnly: true
total_provisioned:
description: 'The provisioned size of a volume for a single volume, host or host group,
protocol endpoint, managed directory, and containers can be infinite or measured in bytes.
Infinite is represented by `null`.
The provisioned size for a host or host group, includes all volumes
that are connected to the resource.
The provisioned size for a protocol endpoint is `null`.
The provisioned size for a managed directory is the quota limit if it
or its parent has a managed directory configured, otherwise it defaults to `null`.
The provisioned size for a container is the sum of the total_provisioned
of the object it contains, capped by the container''s quota limit
(or the container''s used_provisioned if current usage is above the quota limit), if any.
Provisioned size represents the storage capacity reported to hosts.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 19937690345472
total_reduction:
description: 'The ratio of provisioned sectors within a volume versus
the amount of physical space the data occupies
after reduction via data compression and deduplication
and with thin provisioning savings.
Total reduction is data reduction with thin provisioning savings.
For example, a total reduction ratio of 10:1 means that
for every 10 MB of provisioned space,
1 MB is stored on the array''s flash modules.
'
type: number
format: float
readOnly: true
total_used:
description: 'The total space contributed by customer data, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
unique:
description: 'The unique physical space occupied by customer data.
Unique physical space does not include shared space, snapshots, and internal array metadata.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by unique customer data,
measured in bytes.
Unique data does not include shared space, snapshots, and internal array metadata.
'
type: integer
format: int64
minimum: 0
readOnly: true
used_provisioned:
description: 'The amount of logical space a container has consumed,
compared against the quota limit if the container has one configured.
Used provisioned does not include destroyed objects inside the container.
Used provisioned can include destroyed objects for a destroyed container
and represents how much logical space it would take to recover the container.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 19937690345472
virtual:
description: 'The amount of logically written data that a volume or a snapshot references.
Measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
_referenceWithoutType:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
name:
description: 'The resource name, such as volume name, pod name,
snapshot name, and so on.
'
type: string
ResourceObjectStoreAccountSpace:
allOf:
- $ref: '#/components/schemas/ResourceSpace'
- type: object
properties:
object_count:
description: The count of objects within the account.
type: integer
format: int64
readOnly: true
example: 42
_errorErrors:
type: object
properties:
context:
type: string
example: Error with ...
message:
type: string
example: Something was wrong
_resource:
description: 'An ordinary (as opposed to built-in) resource that can be created, named,
renamed, or deleted by the user. This might be a virtual resource (e.g.,
a volume), or correspond to something in the physical environment, like a
host or a server.
'
allOf:
- $ref: '#/components/schemas/_timeAware'
- type: object
properties:
id:
description: A non-modifiable, globally unique ID chosen by the system.
type: string
readOnly: true
example: 2a989a09-c851-4d52-9ec6-ab728b1c04db
name:
description: A modifiable, locally unique name chosen by the user.
type: string
example: example_name
_arrays:
type: object
properties:
arrays:
description: 'The list of arrays where this resource exists. Many resources are on a single array, but
some resources, such as pods, can be shared across multiple arrays.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_fixedReferenceFqdn'
x-readOnly: true
_bucketDefaultsReadonly:
type: object
properties:
hard_limit_enabled:
description: 'The value of this field will be used to configure the `hard_limit_enabled`
field of newly created buckets associated with this object store account,
if the bucket creation does not specify its own value. If not specified,
defaults to `false`.
'
type: boolean
quota_limit:
description: 'The value of this field will be used to configure the `quota_limit` field
of newly created buckets associated with this object store account, if the
bucket creation does not specify its own value. If unset, the bucket
default is unlimited in size.
'
type: integer
_bucketDefaults:
type: object
properties:
hard_limit_enabled:
description: 'The value of this field will be used to configure the `hard_limit_enabled`
field of newly created buckets associated with this object store account,
if the bucket creation does not specify its own value. If not specified,
defaults to `false`.
'
type: boolean
quota_limit:
description: 'The value of this field will be used to configure the `quota_limit` field
of newly created buckets associated with this object store account, if the
bucket creation does not specify its own value. If set to an empty string
(`""`), the bucket default is unlimited in size. If not specified,
defaults to unlimited.
'
type: string
ObjectStoreAccountResponse:
type: object
properties:
items:
description: A list of object store account objects.
type: array
items:
$ref: '#/components/schemas/ObjectStoreAccount'
_fixedReferenceFqdn:
allOf:
- $ref: '#/components/schemas/_fixedReference_3'
- type: object
properties:
fqdn:
description: 'The fully qualified domain name of the appliance when `resource_type` is `arrays`,
`null` otherwise.
'
type: string
readOnly: true
example: example_name.dc1.example.com
ObjectStoreAccountGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/_errorContextResponse'
- $ref: '#/components/schemas/ObjectStoreAccountResponse'
- type: object
properties:
total:
description: 'If `total_only` query param is `true`, then this field will be a total of
all records after filtering and no items will be returned.
If `total_only` is `false`, then it will be a total of all records
on this page.
'
type: object
items:
$ref: '#/components/schemas/ObjectStoreAccount'
_fixedReference_2:
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithoutType'
- type: object
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-object-store-accounts-api-openapi.yml