Endpoint

/v2/nfs/exports/

GET

This method lists NFS exports. Refer to the 'Modify NFS Export' method for a description of the returned fields.

Parameters

This resource has no parameters.

Response

Codes

Code Description
200 Return value on success

Schema

{
  "type": "array",
  "items": {
    "description": "api_nfs_export",
    "type": "object",
    "properties": {
      "id": {
        "description": "The unique ID of the NFS export",
        "type": "string"
      },
      "export_path": {
        "description": "The NFS export path",
        "type": "string"
      },
      "fs_path": {
        "description": "The filesystem path of the exported directory",
        "type": "string"
      },
      "description": {
        "description": "Description of this NFS export",
        "type": "string"
      },
      "restrictions": {
        "type": "array",
        "items": {
          "description": "An array of NFS host restrictions.",
          "type": "object",
          "properties": {
            "host_restrictions": {
              "type": "array",
              "items": {
                "description": "The list of hosts allowed to connect",
                "type": "string"
              }
            },
            "require_privileged_port": {
              "description": "Require that clients use a privileged port to use this export.",
              "type": "boolean"
            },
            "read_only": {
              "description": "Sets the NFS export to read-only",
              "type": "boolean"
            },
            "user_mapping": {
              "type": "string",
              "enum": [
                "NFS_MAP_NONE",
                "NFS_MAP_ROOT",
                "NFS_MAP_ALL"
              ],
              "description": "NFS user mapping (squashing) support:\n * `NFS_MAP_ALL` - Map all users.,\n * `NFS_MAP_NONE` - Do not map users.,\n * `NFS_MAP_ROOT` - Map root user (uid 0)."
            },
            "map_to_user": {
              "description": "An identity object representing a local user or an NFS user to map (see /users). If map_to_user is an NFS user, then map_to_group with an NFS gid must be given.",
              "type": "object",
              "properties": {
                "id_type": {
                  "type": "string",
                  "enum": [
                    "LOCAL_USER",
                    "LOCAL_GROUP",
                    "NFS_GID",
                    "NFS_UID",
                    "SMB_SID",
                    "INTERNAL",
                    "QUMULO_OPERATOR"
                  ],
                  "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
                },
                "id_value": {
                  "description": "id_value",
                  "type": "string"
                }
              }
            },
            "map_to_group": {
              "description": "An identity object representing an NFS group. If given, map_to_user should be an NFS user.",
              "type": "object",
              "properties": {
                "id_type": {
                  "type": "string",
                  "enum": [
                    "LOCAL_USER",
                    "LOCAL_GROUP",
                    "NFS_GID",
                    "NFS_UID",
                    "SMB_SID",
                    "INTERNAL",
                    "QUMULO_OPERATOR"
                  ],
                  "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
                },
                "id_value": {
                  "description": "id_value",
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "fields_to_present_as_32_bit": {
        "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4.",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "FILE_IDS",
            "FILE_SIZES",
            "FS_SIZE",
            "ALL"
          ],
          "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4.:\n * `ALL` - Force all 64 bit fields to fit in 32 bits.,\n * `FILE_IDS` - Hash high file ids to 32 bits.,\n * `FILE_SIZES` - Clamp large file sizes to 4GiB to fit in 32 bits.,\n * `FS_SIZE` - Clamp available, used and total space reported for the FS to 4GiB."
        }
      },
      "tenant_id": {
        "description": "The tenant ID of the tenant that the NFS export is a part of",
        "type": "number"
      }
    }
  }
}

POST

This method adds an NFS export.

Parameters

Name Description Required
allow-fs-path-create Specifies whether the file system path can be created if it does not already exist. No

Request

Schema

{
  "description": "api_nfs_export_post",
  "type": "object",
  "properties": {
    "export_path": {
      "description": "The NFS export path",
      "type": "string"
    },
    "fs_path": {
      "description": "The filesystem path of the exported directory",
      "type": "string"
    },
    "description": {
      "description": "Description of this NFS export",
      "type": "string"
    },
    "restrictions": {
      "type": "array",
      "items": {
        "description": "An array of NFS host restrictions.",
        "type": "object",
        "properties": {
          "host_restrictions": {
            "type": "array",
            "items": {
              "description": "The list of hosts allowed to connect",
              "type": "string"
            }
          },
          "require_privileged_port": {
            "description": "Require that clients use a privileged port to use this export.",
            "type": "boolean"
          },
          "read_only": {
            "description": "Sets the NFS export to read-only",
            "type": "boolean"
          },
          "user_mapping": {
            "type": "string",
            "enum": [
              "NFS_MAP_NONE",
              "NFS_MAP_ROOT",
              "NFS_MAP_ALL"
            ],
            "description": "NFS user mapping (squashing) support:\n * `NFS_MAP_ALL` - Map all users.,\n * `NFS_MAP_NONE` - Do not map users.,\n * `NFS_MAP_ROOT` - Map root user (uid 0)."
          },
          "map_to_user": {
            "description": "An identity object representing a local user or an NFS user to map (see /users). If map_to_user is an NFS user, then map_to_group with an NFS gid must be given.",
            "type": "object",
            "properties": {
              "id_type": {
                "type": "string",
                "enum": [
                  "LOCAL_USER",
                  "LOCAL_GROUP",
                  "NFS_GID",
                  "NFS_UID",
                  "SMB_SID",
                  "INTERNAL",
                  "QUMULO_OPERATOR"
                ],
                "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
              },
              "id_value": {
                "description": "id_value",
                "type": "string"
              }
            }
          },
          "map_to_group": {
            "description": "An identity object representing an NFS group. If given, map_to_user should be an NFS user.",
            "type": "object",
            "properties": {
              "id_type": {
                "type": "string",
                "enum": [
                  "LOCAL_USER",
                  "LOCAL_GROUP",
                  "NFS_GID",
                  "NFS_UID",
                  "SMB_SID",
                  "INTERNAL",
                  "QUMULO_OPERATOR"
                ],
                "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
              },
              "id_value": {
                "description": "id_value",
                "type": "string"
              }
            }
          }
        }
      }
    },
    "fields_to_present_as_32_bit": {
      "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "FILE_IDS",
          "FILE_SIZES",
          "FS_SIZE",
          "ALL"
        ],
        "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4:\n * `ALL` - Force all 64 bit fields to fit in 32 bits.,\n * `FILE_IDS` - Hash high file ids to 32 bits.,\n * `FILE_SIZES` - Clamp large file sizes to 4GiB to fit in 32 bits.,\n * `FS_SIZE` - Clamp available, used and total space reported for the FS to 4GiB."
      }
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_nfs_export",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique ID of the NFS export",
      "type": "string"
    },
    "export_path": {
      "description": "The NFS export path",
      "type": "string"
    },
    "fs_path": {
      "description": "The filesystem path of the exported directory",
      "type": "string"
    },
    "description": {
      "description": "Description of this NFS export",
      "type": "string"
    },
    "restrictions": {
      "type": "array",
      "items": {
        "description": "An array of NFS host restrictions.",
        "type": "object",
        "properties": {
          "host_restrictions": {
            "type": "array",
            "items": {
              "description": "The list of hosts allowed to connect",
              "type": "string"
            }
          },
          "require_privileged_port": {
            "description": "Require that clients use a privileged port to use this export.",
            "type": "boolean"
          },
          "read_only": {
            "description": "Sets the NFS export to read-only",
            "type": "boolean"
          },
          "user_mapping": {
            "type": "string",
            "enum": [
              "NFS_MAP_NONE",
              "NFS_MAP_ROOT",
              "NFS_MAP_ALL"
            ],
            "description": "NFS user mapping (squashing) support:\n * `NFS_MAP_ALL` - Map all users.,\n * `NFS_MAP_NONE` - Do not map users.,\n * `NFS_MAP_ROOT` - Map root user (uid 0)."
          },
          "map_to_user": {
            "description": "An identity object representing a local user or an NFS user to map (see /users). If map_to_user is an NFS user, then map_to_group with an NFS gid must be given.",
            "type": "object",
            "properties": {
              "id_type": {
                "type": "string",
                "enum": [
                  "LOCAL_USER",
                  "LOCAL_GROUP",
                  "NFS_GID",
                  "NFS_UID",
                  "SMB_SID",
                  "INTERNAL",
                  "QUMULO_OPERATOR"
                ],
                "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
              },
              "id_value": {
                "description": "id_value",
                "type": "string"
              }
            }
          },
          "map_to_group": {
            "description": "An identity object representing an NFS group. If given, map_to_user should be an NFS user.",
            "type": "object",
            "properties": {
              "id_type": {
                "type": "string",
                "enum": [
                  "LOCAL_USER",
                  "LOCAL_GROUP",
                  "NFS_GID",
                  "NFS_UID",
                  "SMB_SID",
                  "INTERNAL",
                  "QUMULO_OPERATOR"
                ],
                "description": "id_type:\n * `INTERNAL` - INTERNAL,\n * `LOCAL_GROUP` - LOCAL_GROUP,\n * `LOCAL_USER` - LOCAL_USER,\n * `NFS_GID` - NFS_GID,\n * `NFS_UID` - NFS_UID,\n * `QUMULO_OPERATOR` - QUMULO_OPERATOR,\n * `SMB_SID` - SMB_SID"
              },
              "id_value": {
                "description": "id_value",
                "type": "string"
              }
            }
          }
        }
      }
    },
    "fields_to_present_as_32_bit": {
      "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "FILE_IDS",
          "FILE_SIZES",
          "FS_SIZE",
          "ALL"
        ],
        "description": "Specify which NFS3 result values should be 32-bit sanitized on this export. Has no effect on exports used over NFS4.:\n * `ALL` - Force all 64 bit fields to fit in 32 bits.,\n * `FILE_IDS` - Hash high file ids to 32 bits.,\n * `FILE_SIZES` - Clamp large file sizes to 4GiB to fit in 32 bits.,\n * `FS_SIZE` - Clamp available, used and total space reported for the FS to 4GiB."
      }
    },
    "tenant_id": {
      "description": "The tenant ID of the tenant that the NFS export is a part of",
      "type": "number"
    }
  }
}