Endpoint

/v3/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

{
  "description": "api_nfs_exports_v3",
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "items": {
        "description": "List of NFS exports",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique ID of the NFS export",
            "type": "string"
          },
          "export_path": {
            "description": "The NFS export path",
            "type": "string"
          },
          "tenant_id": {
            "description": "The tenant ID of the tenant that the NFS export is a part of",
            "type": "number"
          },
          "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."
            }
          }
        }
      }
    }
  }
}

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_v3",
  "type": "object",
  "properties": {
    "export_path": {
      "description": "The NFS export path",
      "type": "string"
    },
    "tenant_id": {
      "description": "The tenant ID of the tenant that the NFS export is a part of",
      "type": "number"
    },
    "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_v3",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique ID of the NFS export",
      "type": "string"
    },
    "export_path": {
      "description": "The NFS export path",
      "type": "string"
    },
    "tenant_id": {
      "description": "The tenant ID of the tenant that the NFS export is a part of",
      "type": "number"
    },
    "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."
      }
    }
  }
}