Endpoint

/v2/nfs/exports/{ref}

GET

This method retrieves the specified NFS export. Refer to the 'Modify NFS Export' method for a description of the returned fields.

Parameters

Name Description Required
ref A unique identifier of the NFS export, either ID or export path Yes

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"
    }
  }
}

PUT

This method sets all attributes of a NFS export.

Parameters

Name Description Required
ref A unique identifier of the NFS export, either ID or export path Yes
allow-fs-path-create Specifies whether the file system path can be created if it does not already exist. No
If-Match ETag for expected version No

Request

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"
    }
  }
}

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"
    }
  }
}

DELETE

This method deletes an NFS export.

Parameters

Name Description Required
ref A unique identifier of the NFS export, either ID or export path Yes
If-Match ETag for expected version No

Response

Codes

Code Description
200 Return value on success

PATCH

This method modifies individual attributes of a NFS export.

Parameters

Name Description Required
ref A unique identifier of the NFS export, either ID or export path Yes
allow-fs-path-create Specifies whether the file system path can be created if it does not already exist. No
If-Match ETag for expected version No

Request

Schema

{
  "description": "api_nfs_export_patch",
  "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"
    }
  }
}

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"
    }
  }
}