Pure Storage Presets API

Presets are reusable templates that provision resources.

Operations 10

GET /api/2.52/presets/workload Pure Storage List Workload Presets
PUT /api/2.52/presets/workload Pure Storage Update a Workload Preset
POST /api/2.52/presets/workload Pure Storage Create a Workload Preset
DELETE /api/2.52/presets/workload Pure Storage Delete a Workload Preset
PATCH /api/2.52/presets/workload Pure Storage Modify a Workload Preset
GET /api/2.26/presets/workload Pure Storage List Workload Presets
PUT /api/2.26/presets/workload Pure Storage Update a Workload Preset
POST /api/2.26/presets/workload Pure Storage Create a Workload Preset
DELETE /api/2.26/presets/workload Pure Storage Delete a Workload Preset
PATCH /api/2.26/presets/workload Pure Storage Modify a Workload Preset

Documentation

Specifications

Code Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-volume-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-host-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-volume-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-file-system-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-array-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-file-system-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-bucket-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-metric-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-alert-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/pure1-cloud-api-array-structure.json

Other Resources

🔗
SDKs
https://pypi.org/project/py-pure-client/
🔗
SDKs
https://github.com/PureStorage-OpenConnect/PureStorage.Pure1
🔗
SDKs
https://github.com/PureStorage-OpenConnect/powershell-toolkit-3
🔗
SDKs
https://github.com/PureStorage-OpenConnect/rest-client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/terraform-provider-flash
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flasharray-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-volume-example.json
🔗
SDKs
https://github.com/PureStorage-OpenConnect/flashblade-powershell
🔗
SDKs
https://github.com/purestorage/purity_fb_python_client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fb-openmetrics-exporter
🔗
Tools
https://github.com/PureStorage-OpenConnect/flashblade-mcp-server
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flashblade-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-file-system-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-bucket-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-pure1-cloud-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/pure1-cloud-api-array-example.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pure-storage-presets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pure-storage-presets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FlashArray REST Active Directory Presets 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: Presets
  description: 'Presets are reusable templates that provision resources.

    '
paths:
  /api/2.52/presets/workload:
    get:
      tags:
      - Presets
      summary: Pure Storage List Workload Presets
      description: 'Displays a list of workload presets.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadGetResponse'
    put:
      tags:
      - Presets
      summary: Pure Storage Update a Workload Preset
      description: 'Updates a workload preset by replacing it with the new contents in `preset`.

        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'
      - $ref: '#/components/parameters/Preset_workload_skip_verify_deployable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresetWorkload'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
    post:
      tags:
      - Presets
      summary: Pure Storage Create a Workload Preset
      description: 'Creates one workload preset.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names_single_required'
      - $ref: '#/components/parameters/Preset_workload_skip_verify_deployable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresetWorkloadPost'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
    delete:
      tags:
      - Presets
      summary: Pure Storage Delete a Workload Preset
      description: 'Deletes a workload preset permanently.

        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:
      - Presets
      summary: Pure Storage Modify a Workload Preset
      description: 'Modifies a workload preset by overriding the fields specified in `preset`.

        To rename a workload preset, set name to the new name.

        '
      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/PresetWorkloadPatch'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
  /api/2.26/presets/workload:
    get:
      tags:
      - Presets
      summary: Pure Storage List Workload Presets
      description: 'Displays a list of workload presets.

        '
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Ids_2'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadGetResponse_2'
    put:
      tags:
      - Presets
      summary: Pure Storage Update a Workload Preset
      description: 'Updates a workload preset by replacing it with the new contents in `preset`.

        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'
      - $ref: '#/components/parameters/Preset_workload_skip_verify_deployable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresetWorkload'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
    post:
      tags:
      - Presets
      summary: Pure Storage Create a Workload Preset
      description: 'Creates one workload preset.

        '
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names_single_required'
      - $ref: '#/components/parameters/Preset_workload_skip_verify_deployable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresetWorkloadPost'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
    delete:
      tags:
      - Presets
      summary: Pure Storage Delete a Workload Preset
      description: 'Deletes a workload preset permanently.

        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:
      - Presets
      summary: Pure Storage Modify a Workload Preset
      description: 'Modifies a workload preset by overriding the fields specified in `preset`.

        To rename a workload preset, set name to the new name.

        '
      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/PresetWorkloadPatch'
        required: true
        x-codegen-request-body-name: preset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetWorkloadResponse'
      x-codegen-request-body-name: preset
components:
  schemas:
    _presetWorkloadConstraintsResourceReference:
      description: Constraints to apply to resource reference parameters
      type: object
      required:
      - allowed_values
      properties:
        allowed_values:
          description: 'The valid values that can be supplied to the parameter.

            At least one value must be specified to configure a `resource_type`.

            '
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/_presetWorkloadConstraintsResourceReferenceAllowedValues'
        default:
          description: 'The default value to use if no value is provided.

            Must match the `resource_type` set in `allowed_values`.

            One of `id` or `name` must be set, but they cannot be set together.

            '
          title: ReferenceWithType
          allOf:
          - $ref: '#/components/schemas/_referenceWithType'
    _fixedReference_2:
      allOf:
      - $ref: '#/components/schemas/_fixedReferenceWithoutType'
      - type: object
        properties:
          resource_type:
            description: 'Type of the object (full name of the endpoint).

              Valid values are the unique part of the resource''s REST endpoint.

              For example, a reference to a file system would have a

              `resource_type` of `file-systems`.

              '
            type: string
            readOnly: true
    _presetWorkloadWorkloadTag:
      type: object
      required:
      - key
      - value
      properties:
        copyable:
          description: 'Specifies whether 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: string
          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
        value:
          description: 'Value of the tag. Supports up to 256 Unicode characters. Supports parameterization.

            '
          type: string
          example: staging
    _presetWorkloadDirectoryConfigurationMultiProtocol:
      type: object
      properties:
        access_control_style:
          description: 'The access control style that is utilized for client actions such as

            setting file and directory ACLs.

            Possible values include `nfs`, `smb`, `shared`, `independent`, and `mode-bits`.

            If `nfs` is specified, then SMB clients will be unable to set permissions

            on files and directories.

            If `smb` is specified, then NFS clients will be unable to set permissions

            on files and directories.

            If `shared` is specified, then NFS and SMB clients will both be able

            to set permissions on files and directories. Any client will be able to

            overwrite the permissions set by another client, regardless of protocol.

            If `independent` is specified, then NFS and SMB clients will both be able

            to set permissions on files and directories, and can access files and

            directories created over any protocol. Permissions set by SMB clients

            will not affect NFS clients and vice versa. NFS clients will be restricted

            to only using mode bits to set permissions.

            If `mode-bits` is specified, then NFS and SMB clients will both be able

            to set permissions on files and directories, but only mode bits may be

            used to set permissions for NFS clients. When SMB clients set an ACL,

            it will be converted to have the same permission granularity as NFS mode

            bits.

            Supports parameterization.

            '
          type: string
        safeguard_acls:
          description: 'If set to "true", prevents NFS clients from erasing a configured ACL when

            setting NFS mode bits.

            If this is "true", then attempts to set mode bits on a file or directory

            will fail if they cannot be combined with the existing ACL set on a file

            or directory without erasing the ACL.

            Attempts to set mode bits that would not erase an existing ACL will still

            succeed and the mode bit changes will be merged with the existing ACL.

            This must be "false" when `access_control_style` is set to either

            `independent` or `mode-bits`.

            Supports parameterization.

            '
          type: string
    _presetWorkloadExportConfigurationSmbShareRule:
      type: object
      properties:
        change:
          description: 'The state of the principal''s Change access permission.

            Valid values are `allow` and `deny`. When not set, value is `null`.

            When allowed, includes all access granted by the Read permission. Users

            can also change data within files and add or delete files and folders.

            When denied, these operations are explicitly blocked.

            If not set for any applicable rule on any applicable policy, acts as an

            implicit deny.

            If set to `allow`, implicitly sets the Read permission to `allow`. This

            is incompatible with explicitly setting any permission to `deny`.

            If set to `deny`, implicitly sets the Read permission to `deny`. This is

            incompatible with explicitly setting any permission to `allow`.

            Defaults to `null`.

            Supports parameterization.

            '
          type: string
        full_control:
          description: 'The state of the principal''s Full Control access permission.

            Valid values are `allow` and `deny`. When not set, value is `null`.

            When allowed, includes all access granted by the Change permission. Users

            can also change the permissions for files and folders.

            When denied, these operations are explicitly blocked.

            If not set for any applicable rule on any applicable policy, acts as an

            implicit deny.

            If set to `allow`, implicitly sets the Change and Read permissions to

            `allow`. This is incompatible with explicitly setting any permission to

            `deny`.

            If set to `deny`, implicitly sets the Change and Read permissions to

            `deny`. This is incompatible with explicitly setting any permission to

            `allow`.

            Defaults to `null`.

            Supports parameterization.

            '
          type: string
        principal:
          description: 'The user or group who is the subject of this rule, and optionally their

            domain. If no domain is provided, it will be derived if possible.

            For example, `PURESTORAGE\Administrator`, `samplegroup@PureStorage`, or

            `sampleuser`.

            Supports parameterization.

            '
          type: string
        read:
          description: 'The state of the principal''s Read access permission.

            Valid values are `allow` and `deny`.

            When allowed, users can view file names, read the data in those files, and

            run some programs.

            When denied, these operations are explicitly blocked.

            When setting to `allow`, cannot explicitly set any permission to `deny`.

            When setting to `deny`, cannot explicitly set any permission to `allow`.

            Defaults to `allow`.

            Supports parameterization.

            '
          type: string
    _presetWorkloadExportConfigurationSmb:
      allOf:
      - $ref: '#/components/schemas/_presetWorkloadPolicyAction'
      - type: object
        required:
        - name
        properties:
          name:
            $ref: '#/components/schemas/_presetWorkloadConfigurationName'
          naming_patterns:
            $ref: '#/components/schemas/_namingPatterns'
          policy_configuration:
            $ref: '#/components/schemas/_presetWorkloadExportConfigurationSmbPolicy'
    _presetWorkloadExportConfigurationNfsPolicy:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/_presetWorkloadExportConfigurationNfsRule'
        user_mapping_enabled:
          description: 'If set to "true", queries the joined AD/OpenLDAP server to find the user

            corresponding to the incoming UID.

            If set to "false", users are defined by UID/GID pair.

            It supports parameterization.

            '
          type: string
    PresetWorkloadGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfoWithoutTotalItemCountResponse'
      - $ref: '#/components/schemas/PresetWorkloadResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    PresetWorkloadPatch:
      allOf:
      - $ref: '#/components/schemas/_newName'
      - type: object
    _errorContextResponse_2:
      type: object
      properties:
        errors:
          description: The list of errors encountered when attempting to perform an operation.
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/_errorContextResponseErrors'
    _referenceWithType:
      allOf:
      - $ref: '#/components/schemas/_reference'
      - 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`, and

              `policies/snapshot`, etc.

              '
            type: string
      x-aliases:
      - _reference
    _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
    PresetWorkloadPost:
      allOf:
      - $ref: '#/components/schemas/_presetWorkloadBase'
      - type: object
    _presetWorkloadDirectoryConfiguration:
      type: object
      required:
      - name
      - path
      - placement_configurations
      properties:
        count:
          description: 'The number of directories or file systems to provision.

            If greater than one, the name, path, and export name patterns must be unique

            within the workload (for example, by including a `workload.configuration.index`).

            Supports parameterization.

            '
          type: string
        exports:
          description: 'THe file system or directory exports to be created as part of the workload.

            A maximum of four exports can be created per file system or directory across

            NFS and SMB.

            '
          type: array
          minItems: 1
          maxItems: 12
          items:
            $ref: '#/components/schemas/_presetWorkloadDirectoryConfigurationExports'
        multi_protocol:
          description: Multi-protocol configuration.
          title: PresetWorkloadDirectoryConfigurationMultiProtocol
          allOf:
          - $ref: '#/components/schemas/_presetWorkloadDirectoryConfigurationMultiProtocol'
        name:
          $ref: '#/components/schemas/_presetWorkloadConfigurationName'
        naming_patterns:
          $ref: '#/components/schemas/_namingPatterns'
        parent:
          description: 'An optional reference to either an existing file system or a directory_configuration

            defined within this Preset, under which this directory will be placed.

            This cannot be populated when path is "/" as that creates a new file system.

            Only one of file_system or directory_configuration can be specified and must

            be specified when the path is not "/".

            Supports parameterization.

            '
          title: PresetWorkloadDirectoryConfigurationParent
          allOf:
          - $ref: '#/components/schemas/_presetWorkloadDirectoryConfigurationParent'
        path:
          description: 'A directory path.

            A path of "/" will create a new file system. Anything other than "/" will create

            a directory under a file system specified by `parent`.

            '
          title: PresetWorkloadDirectoryConfigurationPath
          allOf:
          - $ref: '#/components/schemas/_presetWorkloadDirectoryConfigurationPath'
        placement_configurations:
          description: 'The names of the placement configurations with which to associate the file systems

            or directories.

            '
          type: array
          minItems: 1
          maxItems: 1
          items:
            type: string
        quota_configurations:
          description: 'The names of the quota configurations with which to associate the file systems

            or directories.

            '
          type: array
          minItems: 1
          maxItems: 1
          items:
            type: string
        snapshot_configurations:
          description: 'The names of the snapshot configurations to apply to the file systems or directories.

            '
          type: array
          minItems: 1
          maxItems: 2
          items:
            type: string
        special_directories:
          description: THe special directory configuration.
          title: PresetWorkloadDirectoryConfigurationSpecialDirectories
          allOf:
          - $ref: '#/components/schemas/_presetWorkloadDirectoryConfigurationSpecialDirectories'
    _presetWorkloadQosConfiguration:
      type: object
      required:
      - name
      properties:
        bandwidth_limit:
          description: 'The maximum QoS bandwidth limit shared across all volumes in the placement.

            Whenever throughput exceeds the bandwidth limit, throttling occurs.

            Measured in bytes per second. Between 1MB/s and 512 GB/s, inclusive.

            Supports parameterization.

            '
          type: string
        iops_limit:
          description: 'The QoS IOPs limit shared across all volumes in the placement.

            Between 100 and 100000000, inclusive. Supports parameterization.

            '
          type: string
        name:
          $ref: '#/components/schemas/_presetWorkloadConfigurationName'
        naming_patterns:
          $ref: '#/components/schemas/_namingPatterns'
    _fixedReferenceWithType:
      allOf:
      - $ref: '#/components/schemas/_fixedReference'
      - type: object
        properties:
          resource_type:
            description: 'Type of the object (full name of the endpoint).

              Valid values are the unique part of the resource''s REST endpoint.

              For example, a reference to a file system would have a

              `resource_type` of `file-systems`.

              '
            type: string
            readOnly: true
      x-aliases:
      - _fixedReference
    _presetWorkloadQuotaRule:
      type: object
      properties:
        enforced:
          description: 'Defines whether the quota rule is enforced or unenforced.

            If the quota rule is enforced and logical space usage exceeds the quota limit,

            any modification operations that result in a need for more space are blocked.

            If the quota rule is unenforced and logical space usage exceeds the quota limit, notification

            emails can be sent. No client operations are blocked when an unenforced limit is exceeded.

            If set to "true", the limit is enforced.

            Supports parameterization.

            '
          type: string
        quota_limit:
          description: 'The logical space limit of the quota assigned by the rule, measured in bytes.

            The value cannot be `0`.

            It supports parameterization.

            '
          type: string
    _presetWorkloadSnapshotRule:
      type: object
      required:
      - every
      - keep_for
      properties:
        at:
          description: 'Specifies the number of milliseconds since midnight at which to take a snapshot.

            The `at` value cannot be set if the `every` value is not measured in days.

            The `at` value can only be set on the first rule.

            It supports parameterization.

            '
          type: string
        client_name:
          description: 'The snapshot file client name.

            For file directories, a full snapshot name is constructed in the form of

            `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME`

            is the snapshot client name, and `SUFFIX` is the snapshot suffix.

            The client visible snapshot name is `CLIENT_NAME.SUFFIX`.

            '
          title: NamingPatterns
          allOf:
          - $ref: '#/components/schemas/_namingPatterns'
        every:
          description: 'Specifies the interval between snapshots, in milliseconds.

            The `every` value for all rules must be multiples of one another.

            It supports parameterization.

            '
          type: string
        keep_for:
          description: 'Specifies the period that snapshots are retained before they are eradicated, in milliseconds.

            It supports parameterization.

            '
          type: string
        suffix:
          description: 'The snapshot suffix name.

            For file directories, a full snapshot name is constructed in the form of

            `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME`

            is the snapshot client name, and `SUFFIX` is the snapshot suffix.

            The client visible snapshot name is `CLIENT_NAME.SUFFIX`.

            The `suffix` value can only be set for one rule in the same policy.

            The `suffix` value can only be set on a rule with the same `keep_for` value

            and `every` value.

            The `suffix` value can only be set on the rule with the largest `keep_for` value.

            It supports parameterization.

            '
          type: string
        time_zone:
          description: 'The time zone to use with the `at` time.

            If not specified, defaults to the time zone of the array where the workload is provisioned.

            It supports parameterization.

            '
          type: string
          example: America/Los_Angeles
    _reference:
      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
      x-aliases:
      - _referenceWithoutType
    _presetWorkloadVolumeConfiguration:
      type: object
      required:
      - count
      - name
      - placement_configurations
      - provisioned_size
      properties:
        count:
          description: The number of volumes to provision. Supports parameterization.
          type: string
        name:
          $ref: '#/components/schemas/_presetWorkloadConfigurationName'
        naming_patterns:
          $ref: '#/components/schemas/_namingPatterns'
        periodic_replication_configurations:
          description: 'The names of the periodic replication configurations to apply to the volumes.

            '
          type: array
          items:
            type: string
        placement_configurations:
          description: 'The names of the placement configurations with which to associate the volumes.

            '
          type: array
          minItems: 1
          maxItems: 1
          items:
            type: string
        provisioned_size:
          description: 'The virtual size of each volume. Measured in bytes

            and must be a multiple of 512. The maximum size is

            4503599627370496 (4PB). Supports parameterization.

            '
          type: string
        snapshot_configurations:
          description: 'The names of the snapshot configurations to apply to the volumes.

            '
          type: array
          items:
            type: string
    _presetWorkloadBase:
      description: 'Workload presets are reusable templates that provision workloads.

        '
      type: object
      required:
      - placement_configurations
      - workload_type
      properties:
        description:
          description: 'A brief description of the workload the preset will configure.

            Supports up to 1KB of unicode characters.

            '
          type: string
        directory_configurations:
          description: 'The file systems and managed directories that will be provisioned by the preset.

            '
          type: array
          minItems: 1
          maxItems: 20
          items:
            $ref: '#/components/schemas/_presetWorkloadDirectoryConfiguration'
        export_configurations:
          description: 'The NFS, SMB, and SMB share policy configuration specified in file system and directory exports.

            '
          title: PresetWorkloadExportConfigurations
          allOf:
          - $ref: '#/components/schemas/_presetWorkloadExportConfigurations'
        parameters:
          description: The parameters to prompt the user when they deploy workloads from the preset.
          type: array
          items:
            $ref: '#/components/schemas/_presetWorkloadParameter'
        periodic_replication_configurations:
          description: 'The periodic replication configurations that can be applied to storage resources (such

            as volumes) within the preset.

            '
          type: array
          maxItems: 2
          items:
            $ref: '#/components/schemas/_presetWorkloadPeriodicReplicationConfiguration'
        placement_configurations:
          description: 'The placement configurations that can be applied to storage resources (such as volumes)

            within the preset. All storage resources associated with the same placement will be

            colocated on the same array.

            '
          type: array
          minItems: 1
          maxItems: 1
          items:
            $ref: '#/components/schemas/_presetWorkloadPlacementConfiguration'
        platform_features:
          type: array
          minItems: 1
          maxItems: 1
          items:
            $ref: '#/components/schemas/_presetWorkloadPlatformFeatures'
        qos_configurations:
          description: 'The QoS configurations that can be applied to storage resources (such as volumes) within

            the preset.

            '
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/_presetWorkloadQosConfiguration'
        quot

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-presets-api-openapi.yml