Pure Storage · Schema

FileSystem

FileSystem schema from FlashBlade REST API

StorageData StorageFlash StorageEnterprise StorageCloud StorageObject StorageFile StorageBlock StorageKubernetes StorageInfrastructure

Properties

Name Type Description
id string A non-modifiable, globally unique ID chosen by the system.
name string Name of the object (e.g., a file system or snapshot).
context object 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,
realms array Reference to the realms this resource belongs to. The value is set to empty array when the resource lives outside of a realm.
created integer Creation timestamp of the file system.
default_group_quota integer The default space quota for a group writing to this file system.
default_user_quota integer The default space quota for a user writing to this file system.
destroyed boolean Returns a value of `true` if the file system has been destroyed and is pending eradication. The file system cannot be modified while it is in the destroyed state. The `time_remaining` value displays t
eradication_config object Configuration settings related to file system eradication.
fast_remove_directory_enabled boolean If set to `true`, the file system, when mounted, will contain a directory that can be used for fast removal of other directories. Directories can be moved into the fast remove directory in order to ha
group_ownership string The group ownership for new files and directories in a file system. Possible values are `creator` and `parent-directory`. If `creator` is selected, the owning group of new files and directories is the
hard_limit_enabled boolean If set to `true`, the file system's size, as defined by `provisioned`, is used as a hard limit quota.
http object HTTP configuration.
multi_protocol object Multi-protocol configuration.
nfs object NFS configuration.
node_group object The nodes contains the data of the file system.
promotion_status string Possible values are `promoted`, `demoted` and `promoting`. The current status of the file system with respect to replication and file system copy. Changes via `requested_promotion_state`. The default
provisioned integer The provisioned size of the file system, displayed in bytes. If set to an empty string (`""`), the file system is unlimited in size.
qos_policy object The QoS policy for the File System defines the performance controls that can be applied to the aggregate performance of all the clients accessing the file system. If no policy is configured for a file
requested_promotion_state string Possible values are `promoted` and `demoted`. The `demoted` state is used for replication targets and is only allowed to be set if the file system is in a replica-link relationship. The additional que
smb object SMB configuration.
snapshot_directory_enabled boolean If set to `true`, a hidden .snapshot directory will be present in each directory of the file system when it is mounted. The .snapshot directory allows clients read access to the contents of the snapsh
source object A reference to the source file system.
space object The space usage of the file system.
storage_class object
time_remaining integer Time in milliseconds before the file system is eradicated. `null` if not destroyed.
workload object A reference to the workload that is managing this resource. The `name` and `configuration` may show as the string "(unknown)" briefly after a failover.
writable boolean Whether the file system is writable or not. If `false`, this overrides any protocol or file permission settings and prevents changes. If `true`, then the protocol and file permission settings are eval
View JSON Schema on GitHub

JSON Schema

flashblade-rest-api-file-system-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "FileSystem",
  "description": "FileSystem schema from FlashBlade REST API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-file-system-schema.json",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "id": {
          "description": "A non-modifiable, globally unique ID chosen by the system.\n",
          "type": "string",
          "readOnly": true
        },
        "name": {
          "description": "Name of the object (e.g., a file system or snapshot).",
          "type": "string",
          "readOnly": true
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "context": {
          "description": "The context in which the operation was performed.\n\nValid values include a reference to any array which is a member of the same fleet\nor to the fleet itself.\n\nOther parameters provided with the request, such as names of volumes or snapshots,\nare resolved relative to the provided `context`.\n",
          "readOnly": true,
          "title": "FixedReference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_fixedReference"
            }
          ]
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "realms": {
          "description": "Reference to the realms this resource belongs to.\nThe value is set to empty array when the resource\nlives outside of a realm.\n",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "#/components/schemas/_fixedReference"
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "created": {
          "description": "Creation timestamp of the file system.",
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "default_group_quota": {
          "description": "The default space quota for a group writing to this file system.",
          "type": "integer",
          "format": "int64"
        },
        "default_user_quota": {
          "description": "The default space quota for a user writing to this file system.",
          "type": "integer",
          "format": "int64"
        },
        "destroyed": {
          "description": "Returns a value of `true` if the file system has been destroyed and is pending eradication.\nThe file system cannot be modified while it is in the destroyed state.\nThe `time_remaining` value displays the amount of time left until the destroyed\nfile system is permanently eradicated. Once eradication has begun, the file system can no\nlonger be recovered. Before the `time_remaining` period has elapsed,\nthe destroyed file system can be recovered through the PATCH method\nby setting `destroyed=false`.\n",
          "type": "boolean"
        },
        "eradication_config": {
          "description": "Configuration settings related to file system eradication.",
          "type": "object",
          "properties": {
            "eradication_mode": {
              "description": "The eradication mode of the file system.\nIf it's `permission-based` the file system can be eradicated based\non user permissions.\nIf it's `retention-based` the file system can not be eradicated\nuntil no files/inodes are locked or retained.\nValid values are `permission-based` and `retention-based`.\n",
              "type": "string",
              "example": "permission-based"
            },
            "manual_eradication": {
              "description": "The manual eradication status of the file system.\nIf `disabled`, the file system cannot be eradicated after it has been\ndestroyed, unless it is empty.\nIf `enabled`, the file system can be eradicated.\nValid values are `disabled` and `enabled`.\n",
              "type": "string",
              "readOnly": true,
              "example": "enabled"
            }
          }
        },
        "fast_remove_directory_enabled": {
          "description": "If set to `true`, the file system, when mounted, will contain a\ndirectory that can be used for fast removal of other directories.\nDirectories can be moved into the fast remove directory in order\nto have them deleted, and their space freed, more quickly than a\nnormal removal operation.\n",
          "type": "boolean"
        },
        "group_ownership": {
          "description": "The group ownership for new files and directories in a file system.\nPossible values are `creator` and `parent-directory`.\nIf `creator` is selected, the owning group of new files and directories\nis the primary group of the user who creates them.\nIf `parent-directory` is selected, the owning group is the parent\ndirectory group.\nNote: Existing files and directories are unaffected by this change.\n",
          "type": "string"
        },
        "hard_limit_enabled": {
          "description": "If set to `true`, the file system's size, as defined by `provisioned`,\nis used as a hard limit quota.\n",
          "type": "boolean"
        },
        "http": {
          "description": "HTTP configuration.",
          "title": "Http",
          "allOf": [
            {
              "$ref": "#/components/schemas/_http"
            }
          ]
        },
        "multi_protocol": {
          "description": "Multi-protocol configuration.",
          "title": "MultiProtocol",
          "allOf": [
            {
              "$ref": "#/components/schemas/_multiProtocol"
            }
          ]
        },
        "nfs": {
          "description": "NFS configuration.",
          "title": "Nfs",
          "allOf": [
            {
              "$ref": "#/components/schemas/_nfs"
            }
          ]
        },
        "node_group": {
          "description": "The nodes contains the data of the file system.\n",
          "title": "FixedReference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_fixedReference"
            }
          ]
        },
        "promotion_status": {
          "description": "Possible values are `promoted`, `demoted` and `promoting`.\nThe current status of the file system with respect to replication and file system copy.\nChanges via `requested_promotion_state`. The default for new file systems is\n`promoted`. For file system copy, the file system promotion status will be set to `promoting`\nuntil the copy is complete.\n",
          "type": "string",
          "readOnly": true
        },
        "provisioned": {
          "description": "The provisioned size of the file system, displayed in bytes. If set to an\nempty string (`\"\"`), the file system is unlimited in size.\n",
          "type": "integer",
          "format": "int64",
          "example": 1048576
        },
        "qos_policy": {
          "description": "The QoS policy for the File System defines the performance controls\nthat can be applied to the aggregate performance of all the clients\naccessing the file system.\nIf no policy is configured for a file system, then no performance\ncontrols are applied to it.\n",
          "title": "FixedReference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_fixedReference"
            }
          ]
        },
        "requested_promotion_state": {
          "description": "Possible values are `promoted` and `demoted`.\nThe `demoted` state is used for replication targets and is only allowed to be set\nif the file system is in a replica-link relationship. The additional\nquery param `discard-non-snapshotted-data` must be set to `true`\nwhen demoting a file system. The default for new file systems is\n`promoted`.\n",
          "type": "string"
        },
        "smb": {
          "description": "SMB configuration.",
          "title": "Smb",
          "allOf": [
            {
              "$ref": "#/components/schemas/_smb"
            }
          ]
        },
        "snapshot_directory_enabled": {
          "description": "If set to `true`, a hidden .snapshot directory will be present in each\ndirectory of the file system when it is mounted.\nThe .snapshot directory allows clients read access to the contents of\nthe snapshots that have been taken of a directory.\nIf set to `false`, the .snapshot directory will not be present in any\ndirectories within a mounted file system.\n",
          "type": "boolean"
        },
        "source": {
          "description": "A reference to the source file system.",
          "title": "LocationReference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_locationReference"
            }
          ]
        },
        "space": {
          "description": "The space usage of the file system.",
          "title": "Space",
          "allOf": [
            {
              "$ref": "#/components/schemas/_space"
            }
          ]
        },
        "storage_class": {
          "allOf": [
            {
              "$ref": "#/components/schemas/_referenceNameOnly"
            },
            {
              "type": "object",
              "properties": {
                "status": {
                  "description": "The status of the transition from the policy to the requested policy. If there is an ongoing transition, the status will be one of `In-Progress` or `Queued`. If there is no transition ongoing, this field will be null.",
                  "type": "string",
                  "readOnly": true
                },
                "status_details": {
                  "description": "Additional details about the status of the transition. If there is no transition ongoing, this field will be null.",
                  "type": "string",
                  "readOnly": true
                },
                "tiering_policy": {
                  "description": "The storage class tiering policy defines tiering for data within the container. If specified,\ndata is written to the container's `S500X-S` (speed) storage class by default, then tiered\nto `S500X-A` (archival) storage class based on the policy.\nIf not specified, all data in the container is written to the container's current storage class.\n",
                  "title": "Reference",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/_reference"
                    }
                  ]
                }
              }
            }
          ]
        },
        "time_remaining": {
          "description": "Time in milliseconds before the file system is eradicated.\n`null` if not destroyed.\n",
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "workload": {
          "type": "object",
          "description": "A reference to the workload that is managing this resource.\nThe `name` and `configuration` may show as the string \"(unknown)\" briefly after a failover.\n",
          "allOf": [
            {
              "$ref": "#/components/schemas/_reference"
            },
            {
              "type": "object",
              "properties": {
                "configuration": {
                  "description": "The name of the preset configuration object.\n",
                  "type": "string"
                }
              }
            }
          ]
        },
        "writable": {
          "description": "Whether the file system is writable or not. If `false`, this overrides\nany protocol or file permission settings and prevents changes. If `true`, then\nthe protocol and file permission settings are evaluated.\nIf not specified, defaults to `true`. Modifiable.\n",
          "type": "boolean"
        }
      }
    }
  ]
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/flashblade-rest-api-file-system"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.