openapi: 3.0.1
info:
title: FlashArray REST Active Directory Workloads 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: Workloads
description: 'Workloads organize storage resources (such as volumes) and their related configuration and
policy objects into logical groupings. Workloads can be deployed from workload presets.
'
paths:
/api/2.52/workloads:
get:
tags:
- Workloads
summary: Pure Storage List Workloads
description: 'Displays a list of workloads.
'
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/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadGetResponse'
'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/WorkloadGetResponse'
post:
tags:
- Workloads
summary: Pure Storage Create a Workload
description: 'Creates one workload.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_single_required'
- $ref: '#/components/parameters/Preset_ids'
- $ref: '#/components/parameters/Preset_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPost'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
delete:
tags:
- Workloads
summary: Pure Storage Delete a Workload
description: 'Deletes a workload that has been destroyed and is pending eradication.
Eradicated workloads cannot be recovered.
Workloads are destroyed using the `PATCH` method.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Workloads
summary: Pure Storage Modify a Workload
description: 'Modifies a workload by renaming or destroying it.
To rename a workload, set `name` to the new name. To destroy a workload, set `destroyed=true`.
To recover a workload that has been destroyed and is pending eradication, set `destroyed=false`.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPatch'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
/api/2.52/workloads/placement-recommendations:
get:
tags:
- Workloads
summary: Pure Storage List Workload Placement Recommendations
description: Displays a list of placement recommendations for workloads.
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/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationGetResponse'
'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/WorkloadPlacementRecommendationGetResponse'
post:
tags:
- Workloads
summary: Pure Storage Create a Request for a Workload Placement Recommendation.
description: 'Creates a recommendation for the placement of the specified workload.
The computation might take a few minutes.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Placement_names'
- name: preset_ids
in: query
description: 'Creates the workload placement recommendations using the presets
specified by ids. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
- name: preset_names
in: query
description: 'Creates the workload placement recommendations using the presets
specified by names. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendation'
required: true
x-codegen-request-body-name: inputs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationResponse'
x-codegen-request-body-name: inputs
/api/2.52/workloads/tags:
get:
tags:
- Workloads
summary: Pure Storage List Tags
description: Displays the list of tags.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
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:
- Workloads
summary: Pure Storage Delete Tags
description: Deletes specified tags.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Keys'
- $ref: '#/components/parameters/Namespaces_delete'
- $ref: '#/components/parameters/Resource_ids_single'
- $ref: '#/components/parameters/Resource_names_single'
responses:
'200':
description: OK
content: {}
/api/2.52/workloads/tags/batch:
put:
tags:
- Workloads
summary: Pure Storage Update Tags
description: Updates or creates tags for all specified objects.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Resource_ids_single'
- $ref: '#/components/parameters/Resource_names_single'
requestBody:
description: A list of tags to be created or, if they already exist, updated.
content:
application/json:
schema:
maxItems: 30
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/TagBatch'
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
/api/2.26/workloads:
get:
tags:
- Workloads
summary: Pure Storage List Workloads
description: 'Displays a list of workloads.
'
parameters:
- $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/Ids_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadGetResponse_2'
'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/WorkloadGetResponse_2'
post:
tags:
- Workloads
summary: Pure Storage Create a Workload
description: 'Creates one workload.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_single_required'
- $ref: '#/components/parameters/Preset_ids'
- $ref: '#/components/parameters/Preset_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPost'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
delete:
tags:
- Workloads
summary: Pure Storage Delete a Workload
description: 'Deletes a workload that has been destroyed and is pending eradication.
Eradicated workloads cannot be recovered.
Workloads are destroyed using the `PATCH` method.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Workloads
summary: Pure Storage Modify a Workload
description: 'Modifies a workload by renaming or destroying it.
To rename a workload, set `name` to the new name. To destroy a workload, set `destroyed=true`.
To recover a workload that has been destroyed and is pending eradication, set `destroyed=false`.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPatch'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
/api/2.26/workloads/placement-recommendations:
get:
tags:
- Workloads
summary: Pure Storage List Workload Placement Recommendations
description: Displays a list of placement recommendations for workloads.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationGetResponse_2'
'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/WorkloadPlacementRecommendationGetResponse_2'
post:
tags:
- Workloads
summary: Pure Storage Create a Request for a Workload Placement Recommendation.
description: 'Creates a recommendation for the placement of the specified workload.
The computation might take a few minutes.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Placement_names'
- name: preset_ids
in: query
description: 'Creates the workload placement recommendations using the presets
specified by ids. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
- name: preset_names
in: query
description: 'Creates the workload placement recommendations using the presets
specified by names. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendation_2'
required: true
x-codegen-request-body-name: inputs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationResponse'
x-codegen-request-body-name: inputs
/api/2.26/workloads/tags:
get:
tags:
- Workloads
summary: Pure Storage List Tags
description: Displays the list of tags.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
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:
- Workloads
summary: Pure Storage Delete Tags
description: Deletes specified tags.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Keys'
- $ref: '#/components/parameters/Namespaces_delete'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
responses:
'200':
description: OK
content: {}
/api/2.26/workloads/tags/batch:
put:
tags:
- Workloads
summary: Pure Storage Update Tags
description: Updates or creates tags for all specified objects.
parameters:
- $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 they already exist, updated.
content:
application/json:
schema:
maxItems: 30
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/TagBatch_2'
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:
schemas:
WorkloadPlacementRecommendation_2:
allOf:
- $ref: '#/components/schemas/_context_2'
- description: 'A workload placement recommendation.
'
type: object
properties:
additional_constraints:
$ref: '#/components/schemas/_workloadPlacementRecommendationAdditionalConstraints_2'
created:
description: 'The time the recommendation was made, measured in milliseconds since the UNIX epoch.
'
type: integer
format: int64
readOnly: true
expires:
description: 'The time when recommendation expires, measured in milliseconds since the UNIX epoch.
'
type: integer
format: int64
readOnly: true
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
more_results_available:
type: boolean
readOnly: true
name:
description: 'A globally unique, system-generated name.
The name cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
parameters:
description: 'The parameter values to pass to the preset when creating the recommendation.
A value is required for all parameters that are not of the resource_reference type.
Parameters of type resource_reference could be: set to a fixed value, or
defined as a set of allowed values, or not set. If a resource_reference
parameter is not set then allowed values will be taken from the preset definition.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationParameter_2'
placement_names:
type: array
readOnly: true
items:
type: string
preset:
title: FixedReferenceWithoutType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithoutType'
progress:
description: 'The percentage progress of the recommendation computation.
The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00.
'
type: number
format: float
readOnly: true
example: 0.77
projection_months:
description: 'The number of months to compute the projections.
If not specified, defaults to 1 month.
'
type: integer
format: int32
x-minimum: 1
x-maximum: 12
recommendation_engine:
description: 'This parameter defines which engine to use for recommendations.
Possible values include `pure1`, `local`, and `best-available`.
If not specified, defaults to ''best-available'' which may mix results of
different engines, while ''pure1'' and ''local'' restrict the used engine.
'
type: string
results:
description: 'The results of the recommendation.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationResult_2'
results_limit:
description: 'The maximum number of results to return.
If not specified, defaults to 10 results.
'
type: integer
format: int32
status:
description: 'The status of the recommendation.
Possible values are `processing`, `completed`, and `failed`.
'
type: string
readOnly: true
WorkloadPatch:
allOf:
- $ref: '#/components/schemas/_destroyedPatchPost'
- $ref: '#/components/schemas/_newName'
_workloadPlacementRecommendationParameterConstraints_2:
description: Constraints to apply to the parameter.
type: object
properties:
resource_reference:
$ref: '#/components/schemas/_workloadPlacementRecommendationParameterResourceReference_2'
_referenceWritable:
allOf:
- $ref: '#/components/schemas/_referenceWithoutType'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, `policies/snapshot`, etc.
'
type: string
x-aliases:
- _reference
Tag:
allOf:
- $ref: '#/components/schemas/_context'
- type: object
properties:
copyable:
description: 'Specifies whether or not to include the tag when copying the parent resource.
If set to `true`, the tag is included in resource copying.
If set to `false`, the tag is not included.
If not specified, defaults to `true`.
'
type: boolean
example: true
key:
description: 'Key of the tag. Supports up to 64 Unicode characters.
'
type: string
example: environment
namespace:
description: 'Optional namespace of the tag.
Namespace identifies the category of the tag. Omitting the namespace
defaults to the namespace `default`. The `pure*` namespaces are
reserved for plugins and integration partners. It is recommended
that customers avoid using reserved namespaces.
'
type: string
example: default
resource:
$ref: '#/components/schemas/_fixedReference'
value:
description: 'Value of the tag. Supports up to 256 Unicode characters.
'
type: string
example: staging
WorkloadPlacementRecommendation:
allOf:
- $ref: '#/components/schemas/_context'
- description: 'A workload placement recommendation.
'
type: object
properties:
additional_constraints:
$ref: '#/components/schemas/_workloadPlacementRecommendationAdditionalConstraints'
created:
description: 'The time the recommendation was made, measured in milliseconds since the UNIX epoch.
'
type: integer
format: int64
readOnly: true
expires:
description: 'The time when recommendation expires, measured in milliseconds since the UNIX epoch.
'
type: integer
format: int64
readOnly: true
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
more_results_available:
type: boolean
readOnly: true
name:
description: 'A globally unique, system-generated name.
The name cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
parameters:
description: 'The parameter values to pass to the preset when creating the recommendation.
A value is required for all parameters that are not of the resource_reference type.
Parameters of type resource_reference could be: set to a fixed value, or
defined as a set of allowed values, or not set. If a resource_reference
parameter is not set then allowed values will be taken from the preset definition.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationParameter'
placement_names:
type: array
readOnly: true
items:
type: string
preset:
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
progress:
description: 'The percentage progress of the recommendation computation.
The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00.
'
type: number
format: float
readOnly: true
example: 0.77
projection_months:
description: 'The number of months to compute the projections.
If not specified, defaults to 1 month.
'
type: integer
format: int32
x-minimum: 1
x-maximum: 12
recommendation_engine:
description: 'This parameter defines which engine to use for recommendations.
Possible values include `pure1`, `local`, and `best-available`.
If not specified, defaults to `best-available` which may mix results of
different engines, while `pure1` and `local` restrict the used engine.
'
type: string
results:
description: 'The results of the recommendation.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationResult'
results_limit:
description: 'The maximum number of results to return.
If not specified, defaults to 10 results.
'
type: integer
format: int32
status:
description: 'The status of the recommendation.
Possible values are `processing`, `completed`, and `failed`.
'
type: string
readOnly: true
WorkloadResponse:
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/Workload'
_workloadPlacementRecommendationGenericTarget:
allOf:
- $ref: '#/components/schemas/_referenceWithType'
- description: 'The data for a target in a workload placement recommendation.
The target is an array that may be used for workload placement.
'
type: object
properties:
capacity:
description: 'The usable capacity of the target, measured in bytes.
'
type: integer
format: int64
example: 10995116277760
capacity_used_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetCapacityUsedProjections'
load_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetLoadProjections'
model:
description: 'The model of the target.
For example, `FA-X20R2`.
'
type: string
periodic_replication_configurations:
description: 'The preset periodic replication configurations supported by the array.
'
type: array
items:
type: string
placement_configurations:
description: 'The preset placement configurations supported by the array.
'
type: array
items:
type: string
warnings:
description: 'The warnings for the target.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationWarning'
_workloadPlacementRecommendationParameterConstraints:
description: The constraints applied to the parameter.
type: object
properties:
resource_reference:
$ref: '#/components/schemas/_workloadPlacementRecommendationParameterResourceReference'
_referenceWithoutType:
type: object
properties:
id:
# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-workloads-api-openapi.yml