openapi: 3.0.1
info:
title: FlashArray REST Active Directory Hosts 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: Hosts
description: 'Hosts organize the storage network addresses (iSCSI Qualified Names, NVMe qualified names, or
Fibre Channel world wide names) of client computers to identify the host''s intiators. Hosts also
control communications between clients and volumes. After a volume has been created, establish a
host-volume connection so that the host can read data from and write data to the volume.
'
paths:
/api/2.52/hosts:
get:
tags:
- Hosts
summary: Pure Storage List Hosts
description: 'Displays a list of hosts.
'
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/Destroyed'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostGetResponse'
'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/HostGetResponse'
post:
tags:
- Hosts
summary: Pure Storage Create a Host and Upsert Tags
description: 'Creates a host for which the `names` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HostPost'
required: true
x-codegen-request-body-name: host
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostResponse'
x-codegen-request-body-name: host
delete:
tags:
- Hosts
summary: Pure Storage Delete a Host
description: 'Deletes an existing host. All volumes that are connected to the host,
either through private or shared connections,
must be disconnected from the host before the host can be deleted.
The `names` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Hosts
summary: Pure Storage Modify a Host
description: 'Modifies an existing host, including its storage network addresses, CHAP, host personality, and
preferred arrays, or associate a host to a host group.
The `names` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/From_member_ids'
- $ref: '#/components/parameters/From_member_names'
- $ref: '#/components/parameters/Modify_resource_access_on_move'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/To_member_ids'
- $ref: '#/components/parameters/To_member_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HostPatch'
required: true
x-codegen-request-body-name: host
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostResponse'
x-codegen-request-body-name: host
/api/2.52/hosts/host-groups:
get:
tags:
- Hosts
summary: Pure Storage List Hosts That Are Associated with Host Groups
description: 'Displays a list of hosts that are associated with host groups.
'
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/Filter'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MemberNoIdAllGetResponse'
'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/MemberNoIdAllGetResponse'
post:
tags:
- Hosts
summary: Pure Storage Create a Membership to a Host Group
description: 'Creates a membership to a host group.
Creating a membership to a host group automatically
connects the host to all volumes associated with the group.
Multiple hosts can be belong to a host group,
but a host can only belong to one host group.
Hosts can be added to host groups at any time.
The `group_names` and `member_names` parameters are required
and must be set together, and only one host group can be specified at a time.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Member_names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MemberNoIdAllResponse'
delete:
tags:
- Hosts
summary: Pure Storage Delete a Membership from a Host Group
description: 'Deletes a membership from a host group.
Deleting a membership from a host group automatically
disconnects the host from all volumes associated with the group.
Hosts can be deleted from host groups at any time.
The `group_names` and `member_names` parameters are required
and must be set together, and only one host group can be specified at a time.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Member_names'
responses:
'200':
description: OK
content: {}
/api/2.52/hosts/performance:
get:
tags:
- Hosts
summary: Pure Storage List Host Performance Data
description: 'Displays real-time and historical performance data, real-time latency data, and average I/O
sizes across all hosts, displayed by host and by total size across all hosts. This data
represents volumes that are connected to the hosts on the local array and stretched volumes
connected to the hosts on any arrays that are connected by synchronous replication.
'
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/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/ResourcePerformanceNoIdGetResponse'
'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/ResourcePerformanceNoIdGetResponse'
/api/2.52/hosts/performance/balance:
get:
tags:
- Hosts
summary: Pure Storage List Host Performance Balance
description: 'Displays the I/O balance statistics for host paths.
'
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/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostPerformanceBalanceGetResponse'
'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/HostPerformanceBalanceGetResponse'
/api/2.52/hosts/performance/by-array:
get:
tags:
- Hosts
summary: Pure Storage List Host Performance Data by Array
description: 'Displays real-time and historical performance data, real-time latency data, and average I/O size
data. The data is displayed by total size across all hosts on each array and by individual host
on each array. The displayed data represents the volumes that are connected to a host on the
current array and the volumes that are connected to a host on any remote arrays that are visible
to the current array.
'
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/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/ResourcePerformanceNoIdByArrayGetResponse'
'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/ResourcePerformanceNoIdByArrayGetResponse'
/api/2.52/hosts/protection-groups:
get:
tags:
- Hosts
summary: Pure Storage List Hosts That Are Members of Protection Groups
description: 'Displays a list of host members that belong to one or more protection groups.
'
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/Filter'
- $ref: '#/components/parameters/Group_ids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MemberNoIdMemberGetResponse'
'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/MemberNoIdMemberGetResponse'
post:
tags:
- Hosts
summary: Pure Storage Create a Host
description: 'Creates a host member and adds it to a protection group.
Members that are already in the protection group are not affected.
For asynchronous replication, only members of the same type can belong to a protection group.
The `group_names` parameter represents the name of the protection group, and
the `member_names` parameter represents the name of the host.
The `group_names` and `member_names` parameters are required and must be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Group_ids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Member_names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MemberNoIdMemberResponse'
delete:
tags:
- Hosts
summary: Pure Storage Delete a Host from a Protection Group
description: 'Deletes a host member from a protection group.
After the member has been removed, it is no longer protected by the group.
Any protection group snapshots that were taken before the member was removed are not affected.
Removing a member from a protection group does not delete the member from the array or realm,
and the member can be added back to the protection group at any time.
The `group_names` parameter represents the name of the protection group, and
the `member_names` parameter represents the name of the host.
The `group_names` and `member_names` parameters are required and must be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Group_ids'
- $ref: '#/components/parameters/Group_names'
- $ref: '#/components/parameters/Member_names'
responses:
'200':
description: OK
content: {}
/api/2.52/hosts/qos:
get:
tags:
- Hosts
summary: Pure Storage List Host QoS Config
description: 'Displays real-time and historical QoS config data for each host.
'
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/Destroyed'
- $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'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostQosGetResponse'
'207':
description: 'Indicates partial success.
Some resources were returned, but errors may have prevented other resources from being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/HostQosGetResponse'
/api/2.52/hosts/space:
get:
tags:
- Hosts
summary: Pure Storage List Host Space Information
description: 'Displays provisioned size and physical storage consumption data for each host.
'
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/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceSpaceNoIdGetResponse'
'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/ResourceSpaceNoIdGetResponse'
/api/2.52/hosts/tags:
get:
tags:
- Hosts
summary: Pure Storage List Tags
description: 'Displays the list of tags on host objects.
'
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/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Resource_destroyed'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TagGetResponse'
'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/TagGetResponse'
delete:
tags:
- Hosts
summary: Pure Storage Delete Tags
description: 'Deletes specified tags on host objects.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Keys'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
responses:
'200':
description: OK
content: {}
/api/2.52/hosts/tags/batch:
put:
tags:
- Hosts
summary: Pure Storage Update Tags
description: 'Updates tags.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
requestBody:
description: A list of tags to be created or, if one already exists, updated.
content:
application/json:
schema:
maxItems: 30
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/NonCopyableTagBatch'
required: true
x-codegen-request-body-name: tag
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponse'
x-codegen-request-body-name: tag
components:
parameters:
To_member_ids:
name: to_member_ids
in: query
description: 'The resource will be moved to the specified local member realm or array.
Enter multiple IDs in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Resource_names:
name: resource_names
in: query
description: 'A comma-separated list of resource names.
The `resource_ids` or `resource_names` parameter is required, but they cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
From_member_names:
name: from_member_names
in: query
description: 'Move the resource from the specified local member realm or array.
This should be a union of all local realms and arrays to be removed from the specified resource.
Enter multiple names in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
History_start_time:
name: start_time
in: query
description: 'Displays historical performance data for the specified time window,
where `start_time` is the beginning of the time window,
and `end_time` is the end of the time window.
The `start_time` and `end_time` parameters
are specified in milliseconds since the UNIX epoch.
If `start_time` is not specified,
the start time will default to one resolution before the end time,
meaning that the most recent sample of performance data will be displayed.
If `end_time`is not specified, the end time will default to the current time.
Include the `resolution` parameter to display the performance data at the specified resolution.
If not specified, `resolution` defaults to the lowest valid resolution.
'
schema:
type: integer
format: int64
To_member_names:
name: to_member_names
in: query
description: 'The resource will be moved to the specified local member realm or array.
Enter multiple names in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Ids:
name: ids
in: query
description: "A comma-separated list of unique resource IDs. At least one resource must match\n each specified ID, otherwise an error is returned. This parameter is required\n if ids or names is not provided, but it cannot be used together with name or names.\n"
style: form
explode: false
schema:
type: array
items:
type: string
From_member_ids:
name: from_member_ids
in: query
description: 'Move the resource from the specified local member realm or array.
This should be a union of all local realms and arrays from which the resource should be removed.
Enter multiple IDs in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Group_names:
name: group_names
in: query
description: 'Performs the operation on the unique group name specified.
Examples of groups include host groups, pods, protection groups, and volume groups.
Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Sort:
name: sort
in: query
description: "Sorts the response objects by the specified fields. Sorting can be applied to any field name\n in the response, in ascending order by default, or in descending order by prefixing the\n field name with a minus sign (-). Multiple fields can be specified as a comma-separated\n list (e.g., sort volumes by size descending, then by name ascending). If sort is provided,\n the response will not include a continuation_token.\n"
style: form
explode: false
schema:
type: array
items:
pattern: ^[a-z]+(_[a-z]+)*-?
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
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
Member_names:
name: member_names
in: query
description: 'Performs the operation on the unique member name specified.
Examples of members include volumes, hosts, host groups, and directories.
Enter multiple names in comma-separated format. For example, `vol01,vol02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Group_ids:
name: group_ids
in: query
description: 'A comma-separated list of group IDs.
'
style: form
explode: false
schema:
type: array
items:
type: string
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
Offset:
name: offset
in: query
description: 'The starting position based on the results of the query
in relation to the full set of response objects returned.
'
schema:
type: integer
format: int32
minimum: 0
example: 10
History_end_time:
name: end_time
in: query
description: 'Displays historical performance data for the specified time window,
where `start_time` is the beginning of the time window,
and `end_time` is the end of the time window.
The `start_time` and `end_time` parameters
are specified in milliseconds since the UNIX epoch.
If `start_time` is not specified,
the start time will default to one resolution before the end time,
meaning that the most recent sample of performance data will be displayed.
If `end_time`is not specified, the end time will default to the current time.
Include the `resolution` parameter to display the performance data at the specified resolution.
If not specified, `resolution` defaults to the lowest valid resolution.
'
schema:
type: integer
format: int64
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
schem
# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-hosts-api-openapi.yml