openapi: 3.0.1
info:
title: FlashArray REST Active Directory Targets 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: Targets
description: Manages targets for replication, including viewing the performance metrics of active replication operations.
paths:
/api/2.26/targets:
get:
tags:
- Targets
summary: Pure Storage GET Targets
description: List targets used for replication.
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'
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/TargetGetResponse'
'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/TargetGetResponse'
post:
tags:
- Targets
summary: Pure Storage POST Targets
description: Add a target for replication.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Names_required'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TargetPost'
required: true
x-codegen-request-body-name: target
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/TargetResponse'
x-codegen-request-body-name: target
delete:
tags:
- Targets
summary: Pure Storage DELETE Targets
description: Delete the connection to the target for replication.
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: {}
patch:
tags:
- Targets
summary: Pure Storage PATCH Targets
description: Modify the target attributes for replication.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
required: true
x-codegen-request-body-name: target
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/TargetResponse'
x-codegen-request-body-name: target
/api/2.26/targets/performance/replication:
get:
tags:
- Targets
summary: Pure Storage GET Targets/performance/replication
description: List replication performance metrics for targets.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/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/Resolution'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Start_time'
- $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/ResourcePerformanceReplicationGetResponse'
/api/1.5/targets:
get:
tags:
- Targets
summary: Pure Storage Get Targets
description: 'Retrieves information about targets.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token_2'
- $ref: '#/components/parameters/Filter_2'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Limit_2'
- $ref: '#/components/parameters/Names_2'
- $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
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/TargetGetResponse_2'
'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:
responses:
Error404:
description: NOT FOUND
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: object
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: object
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: object
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: object
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Error500:
description: INTERNAL SERVER ERROR
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: object
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: object
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: object
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: object
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Error403:
description: FORBIDDEN
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorNoContext'
Error400:
description: BAD REQUEST
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: object
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: object
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: object
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: object
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Error429:
description: TOO MANY REQUESTS
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: object
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: object
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: object
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: object
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorNoContext'
schemas:
_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'
ResourcePerformanceReplicationGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ResourcePerformanceReplication'
total:
description: 'Total of all records after filtering.
If `total_only` query param is `true`, then no items will be returned.
'
type: array
items:
$ref: '#/components/schemas/ResourcePerformanceReplication'
TargetPost:
type: object
properties:
address:
description: IP address or FQDN of the target system.
type: string
Target_2:
allOf:
- $ref: '#/components/schemas/_arraysBuiltIn'
- description: 'An external target system.
'
type: object
properties:
address:
description: IP address or FQDN of the target system.
type: string
example: example_name.dc1.example.com
status:
description: 'Status of the connection. Values include `connected` and `connecting`.
'
type: string
readOnly: true
example: connected
status_details:
description: 'Additional information describing any issues encountered when
connecting, or `null` if the `status` is `connected`.
'
type: string
readOnly: true
_replication_performance:
type: object
properties:
received_bytes_per_sec:
description: Total bytes received per second.
type: number
format: double
minimum: 0
readOnly: true
transmitted_bytes_per_sec:
description: Total bytes transmitted per second.
type: number
format: double
minimum: 0
readOnly: true
x-readOnly: true
Error:
type: object
properties:
errors:
description: The list of errors encountered.
type: array
items:
$ref: '#/components/schemas/_errorErrors'
ResourcePerformanceReplication:
allOf:
- $ref: '#/components/schemas/_builtIn'
- type: object
properties:
aggregate:
description: 'Total bytes transmitted or received per second for all types of
replication.
'
title: Replication_performance
allOf:
- $ref: '#/components/schemas/_replication_performance'
continuous:
description: 'Object backlog information and total bytes transmitted or received
per second for continuous replication. Continuous replication
includes object replication.
'
title: ContinuousReplicationPerformance
allOf:
- $ref: '#/components/schemas/_continuousReplicationPerformance'
periodic:
description: 'Total bytes transmitted or received per second for periodic
replication. Periodic replication includes file system replication,
which is snapshot based.
'
title: Replication_performance
allOf:
- $ref: '#/components/schemas/_replication_performance'
time:
description: Sample time in milliseconds since UNIX epoch.
type: integer
format: int64
readOnly: true
x-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
_errorErrors:
type: object
properties:
context:
type: string
example: Error with ...
message:
type: string
example: Something was wrong
_continuousReplicationPerformance:
allOf:
- $ref: '#/components/schemas/_replication_performance'
- type: object
properties:
object_backlog:
description: 'The total number of pending object operations
and their size that are currently in the backlog.
'
title: ObjectBacklog
allOf:
- $ref: '#/components/schemas/_objectBacklog'
x-readOnly: true
_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
file system), or correspond to something in the environment, like a host or a
server.
'
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 user-specified name.
The name must be locally unique and can be changed.
'
type: string
_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
_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
_arraysBuiltIn:
description: 'A built-in resource that exists on one or multiple arrays.
'
allOf:
- $ref: '#/components/schemas/_builtInAsOf'
- $ref: '#/components/schemas/_arrays'
TargetResponse:
type: object
properties:
items:
description: A list of target objects.
type: array
items:
$ref: '#/components/schemas/Target'
TargetGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/TargetResponseContext'
- $ref: '#/components/schemas/_errorContextResponse'
Target:
allOf:
- $ref: '#/components/schemas/_resource'
- type: object
properties:
address:
description: IP address or FQDN of the target system.
type: string
ca_certificate_group:
description: 'The group of CA certificates that can be used, in addition to
well-known Certificate Authority certificates, in order to
establish a secure connection to the target system.
Defaults to a reference to the `_default_replication_certs` group.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
status:
description: 'Status of the connection.
Valid values are `connected` and `connecting`.
`connected` - The connection is OK.
`connecting` - No connection exists and the array is trying to
reconnect to the target.
'
type: string
readOnly: true
status_details:
description: 'Additional information describing any issues encountered when
connecting, or `null` if the `status` is `connected`.
'
type: string
readOnly: true
_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
_fixedReferenceFqdn:
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
- 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
_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'
TargetGetResponse_2:
allOf:
- $ref: '#/components/schemas/PageInfo_2'
- $ref: '#/components/schemas/TargetResponse_2'
_builtInAsOf:
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).
'
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: 01c2889a-4124-49ff-8cbd-c33405ede123
name:
description: A non-modifiable, locally unique name chosen by the system.
type: string
readOnly: true
example: example_name
_objectBacklog:
type: object
properties:
bytes_count:
description: 'The size of the objects in bytes that need to be replicated.
This does not include the size of custom metadata.
'
type: integer
format: int64
readOnly: true
delete_ops_count:
description: 'The number of DELETE operations that need to be replicated.
'
type: integer
format: int64
readOnly: true
other_ops_count:
description: 'The number of other operations that need to be replicated.
'
type: integer
format: int64
readOnly: true
put_ops_count:
description: 'The number of PUT operations that need to be replicated.
'
type: integer
format: int64
readOnly: true
_fixedReference_2:
type: object
properties:
id:
description: The opaque and unique id of this resource.
type: string
readOnly: true
example: 2a989a09-c851-4d52-9ec6-ab728b1c04db
name:
description: The name of this resource.
type: string
readOnly: true
example: example_name
resource_type:
description: 'The type of this resource represented by the name of its REST endpoint.
For example, "arrays", "network-interfaces", and "metrics".
The value may be `null` if the resource is not represented.
'
type: string
readOnly: true
example: example_resource_type
x-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
example: MThkMzJmYWUtZDI3OS00ODEzLWIzODYtMmM3NmFhMTMwM2My
total_item_count:
description: Total number of items after applying filter params.
type: integer
format: int32
example: 1
TargetResponse_2:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Target_2'
_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
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
TargetWithContext:
allOf:
- $ref: '#/components/schemas/Target'
- $ref: '#/components/schemas/_context'
TargetResponseContext:
type: object
properties:
items:
description: A list of target objects.
type: array
items:
$ref: '#/components/schemas/TargetWithContext'
parameters:
Total_only:
name: total_only
in: query
description: 'If set to `true`, returns the aggregate value of all items after filtering.
Where it makes more sense, the average value is displayed instead.
The values are displayed for each name where meaningful.
If `total_only=true`, the `items` list will be empty.
'
schema:
type: boolean
Filter:
name: filter
in: query
description: 'Narrows down the results to only the response objects
that satisfy the filter criteria.
'
schema:
type: string
Start_time:
name: start_time
in: query
description: 'When the time window starts (in milliseconds since epoch).
'
schema:
type: integer
format: int64
minimum: 0
example: 1514764800000
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
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
Offset_2:
name: offset
in: query
description: 'The offset of the first resource to return from a collection.
'
schema:
type: integer
format: int32
minimum: 0
Resolution:
name: resolution
in: query
description: 'The desired ms between samples. Available resolutions may
depend on data type, `start_time` and `end_time`.
In general `1000`, `30000`, `300000`, `1800000`, `7200000`, and
`86400000` are possible values.
'
schema:
type: integer
format: int64
minimum: 0
example: 30000
Names_2:
name: names
in: query
description: 'A comma-separated list of resource names.
If there is not at least one resource that matches each `name` element,
an error is returned.
Single quotes are required around all strings.
'
style: form
explode: false
schema:
type: array
items:
type: string
x-quoted: true
x-quoted: true
XRequestId:
name: X-Request-ID
in: header
description: 'Supplied by client during request or generated by server.
'
schema:
type: string
Continuation_token_2:
name: continuation_token
in: query
description: 'An opaque token used to iterate over a collection.
The token to use on the next request is returned in the
`continuation_token` field of the result.
Single quotes are required around all strings.
'
schema:
type: string
x-quoted: true
x-quoted: true
Limit_2:
name: limit
in: query
description: 'Limit the size of the response to the specified number of resources.
A limit of 0 can be used to get the number of resources without getting
all of the resources. It will be returned in the
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-targets-api-openapi.yml