openapi: 3.2.0 info: title: Nasuni Volumes API version: '1.0' description: 'Operations tagged Volumes across 4 of this provider''s published API definitions: nasuni-nmc-v1-0-openapi.yml, nasuni-nmc-v1-1-openapi.yml, nasuni-nmc-v1-2-openapi.yml, nasuni-portal-v0-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://hostname/api/v1 - url: https://hostname/api/v1.1 - url: https://hostname/api/v1.2 - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. tags: - name: Volumes paths: /volumes/: get: tags: - Volumes summary: List all volumes parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Volume' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] post: tags: - Volumes summary: Create volume requestBody: content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/Volume_2' required: true responses: '202': description: Accepted - Filer has been sent a message headers: Location: description: URL to the associated message schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/: get: tags: - Volumes summary: Get a volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Volume' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] patch: tags: - Volumes summary: Update volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Volume_2' required: true responses: '202': description: Accepted - Filer has been sent a message headers: Location: description: URL to the associated message schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/: get: tags: - Volumes summary: List filer specific settings of a volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/VolumeFilerSetting' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/: get: tags: - Volumes summary: Get volume settings for a specific filer. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/VolumeFilerSetting' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] patch: tags: - Volumes summary: Update the settings for a volume on a specific Filer parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: Volume settings to update for a Filer content: application/json: schema: $ref: '#/components/schemas/VolumeFilerSetting_2' required: true responses: '202': description: Accepted - Filers volume has been sent a message headers: Location: description: URL to the associated message schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/filers/shares/: get: tags: - Volumes summary: List all shares across all volumes and filers. parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Share' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/shares/: get: tags: - Volumes summary: List all shares of a volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Share' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/shares/: get: tags: - Volumes summary: List all shares of a volume on a specific filer. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Share' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] post: tags: - Volumes summary: Create share parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: The share to create. content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/Share_2' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/: get: tags: - Volumes summary: Get a share parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: share_id in: path description: Share object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Share' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] delete: tags: - Volumes summary: Delete a share parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: share_id in: path description: Share object identifier required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] patch: tags: - Volumes summary: Update share parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: share_id in: path description: Share object identifier required: true schema: type: string requestBody: description: Share fields to update content: application/json: schema: $ref: '#/components/schemas/Share_2' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/filers/exports/: get: tags: - Volumes summary: List all exports. parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Export' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/exports/: get: tags: - Volumes summary: List all exports of a volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Export' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/exports/: get: tags: - Volumes summary: List exports of a volume for a specific filer. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Export' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] post: tags: - Volumes summary: Create export description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: The export to create. content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/Export_2' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/: get: tags: - Volumes summary: Get an export parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Export' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] delete: tags: - Volumes summary: Delete export description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] patch: tags: - Volumes summary: Update export description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string requestBody: description: Export fields to update content: application/json: schema: $ref: '#/components/schemas/Export_2' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/filers/ftp-directories/: get: tags: - Volumes summary: List all FTP directories. parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/FtpDirectory' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/ftp-directories/: get: tags: - Volumes summary: List all FTP directories of a volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/FtpDirectory' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/: get: tags: - Volumes summary: List FTP directories of a volume for a specific filer. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/FtpDirectory' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/: get: tags: - Volumes summary: Get a FTP directory. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: ftpdir_id in: path description: FTP directory object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/FtpDirectory' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/filer-connections/: get: tags: - Volumes summary: List all volume connections. parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/VolumeConnection' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filer-connections/: get: tags: - Volumes summary: List all volume connections for a specific volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/VolumeConnection' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filer-connections/{filer_serial}/: get: tags: - Volumes summary: Get a volume connection. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/VolumeConnection' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/filers/antivirus-violations/: get: tags: - Volumes summary: List all antivirus violations. parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AntivirusViolation' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/antivirus-violations/: get: tags: - Volumes summary: List all antivirus violations of a volume. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AntivirusViolation' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/: get: tags: - Volumes summary: List antivirus violations of a volume for a specific filer. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AntivirusViolation' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/: get: tags: - Volumes summary: Get an antivirus violation. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: antivirus_id in: path description: Antivirus violation object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AntivirusViolation' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/Error' security: - AuthToken: [] delete: tags: - Volumes summary: Delete antivirus violation parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: antivirus_id in: path description: Antivirus violation object identifier required: true schema: type: string - name: action in: query description: Specify the action to perform (delete_file or ignore_violation) schema: type: string enum: - delete_file - ignore_violation responses: '202': description: Accepted - Filer has been sent a message. content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' security: - AuthToken: [] servers: - url: https://hostname/api/v1 /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/: get: tags: - Volumes summary: List NFS host options for an export description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/NfsHostOption' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Create NFS host option description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string requestBody: description: The NFS host option to create. content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/NfsHostOption' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/: get: tags: - Volumes summary: Get a host option for an export description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string - name: host_option_id in: path description: Host option object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/NfsHostOption' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] delete: tags: - Volumes summary: Delete host option description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string - name: host_option_id in: path description: Host option object identifier required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] patch: tags: - Volumes summary: Update an existing host option description: Only available on NMC version 21.2 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: export_id in: path description: Export object identifier required: true schema: type: string - name: host_option_id in: path description: Host option object identifier required: true schema: type: string requestBody: description: Host option fields to update content: application/json: schema: $ref: '#/components/schemas/NfsHostOption' required: true responses: '202': description: Accepted - Filer has been sent a message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/folder-quotas/: get: tags: - Volumes summary: List folder quotas parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/FolderQuota' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/folder-quotas/: get: tags: - Volumes summary: List folder quotas for a volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/FolderQuota' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Create folder quota parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string requestBody: description: The folder quota to create. content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/FolderQuota' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/folder-quotas/{folder_quota_id}/: get: tags: - Volumes summary: Get folder quota parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: folder_quota_id in: path description: Folder Quota object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/FolderQuota' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] delete: tags: - Volumes summary: Delete folder quota parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: folder_quota_id in: path description: Folder Quota object identifier required: true schema: type: string responses: '202': description: Accepted the request and returns a status message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] patch: tags: - Volumes summary: Update folder quota parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: folder_quota_id in: path description: Folder Quota object identifier required: true schema: type: string requestBody: description: The folder quota fields to edit. content: application/json: schema: $ref: '#/components/schemas/FolderQuota' required: false responses: '202': description: Accepted the request and returns a status message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/filers/snapshots/: get: tags: - Volumes summary: List snapshot statuses parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Snapshot' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/snapshots/: get: tags: - Volumes summary: List snapshot statuses for a volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Snapshot' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/snapshots/: get: tags: - Volumes summary: List snapshot status for a volume and Filer parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/Snapshot' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Request snapshot for volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string responses: '202': description: Accepted the request and returns a status message content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict, there's already a snapshot in progress. content: application/json: schema: $ref: '#/components/schemas/Error_2' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/global-lock-folders/: post: tags: - Volumes summary: Enable global locking and its various modes on a specified path parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string requestBody: description: The global locking settings to create. content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/GlobalLocking' required: true responses: '202': description: Accepted - Filer has been sent a message. content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/filers/paths/: get: tags: - Volumes summary: Get a list of all known paths responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PathData' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/paths/: get: tags: - Volumes summary: Get a list of all known paths with a specific volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PathData' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/paths/: get: tags: - Volumes summary: Get a list of all known paths with a specific volume and filer description: 'Can be used to get a list of paths that are "known" -- in other words, have recently been stated by POSTing to the "Refresh info about a given path endpoint". A directory reported as "known" lets you know that it is eligible to be used with the "GET info on a specific path" endpoint. Known paths expire from the NMC after 10 minutes.

Note: Paths are case-sensitive. The paths and path status endpoints will not return results if the wrong case is specified. ' parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PathData' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/path/{path}: get: tags: - Volumes summary: Get info on a specific path description: 'Calling this NMC API endpoint and specifying the Edge Appliance(Filer) serial and path, asks the NMC to give the requestor information it has about the specified path. This only works if the path is a "known path"-- In other words, if the path has recently been enumerated/stated by the NMC file browser or API call (Using "Refresh info about a given path").

Note: Paths are case-sensitive. The paths and path status endpoints will not return results if the wrong case is specified. ' parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PathData' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Refresh info about a given path description: 'Posting to this endpoint causes the NMC to request current information from the associated Edge Appliance(Filer) for the path (statting it). Once this is done, the path is considered to be a "known path" for the Get info on a specific path endpoint. Known paths are only cached for 10 minutes before expiring.

Note: Paths are case-sensitive. The paths and path status endpoints will not return results if the wrong case is specified. ' operationId: refreshPathInfo parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message. headers: Location: description: URL to the associated message. schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}: post: tags: - Volumes summary: Bring path into cache description: Only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string requestBody: description: Whether or not to bring only directory metadata into cache content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/CachePath' required: false responses: '202': description: Accepted - Filer has been sent a message headers: Location: description: URL to the associated message schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/: post: tags: - Volumes summary: Try to make the given directory path description: Only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: Create the given path as a directory under the volume on the given filer. The path should start with a /. content: application/json: schema: type: object properties: path: type: string required: true responses: '202': description: Accepted - Filer has been sent a message headers: Location: description: URL to the associated message schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/filers/pinned-folders/: get: tags: - Volumes summary: Get a list of all pinned folders parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PinnedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/pinned-folders/: get: tags: - Volumes summary: Get a list of all pinned folders in a volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PinnedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/pinned-folders/: get: tags: - Volumes summary: Get a list of pinned folders in a volume for a specific filer parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/PinnedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Set pinning mode description: Metadata mode is only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: The folder to enable pinning on and optionally the mode content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/PinnedFolders' required: true responses: '202': description: Accepted - Filer has been sent a message. headers: Location: description: URL to the associated message. schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/pinned-folder/{path}: get: tags: - Volumes summary: Get pinning status for the path parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PinnedFolders' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] delete: tags: - Volumes summary: Disable pinning mode on a folder description: Only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message. headers: Location: description: URL to the associated message. schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/filers/auto-cached-folders/: get: tags: - Volumes summary: Get a list of all auto cache enabled folders parameters: - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AutoCachedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/auto-cached-folders/: get: tags: - Volumes summary: Get a list of all auto cache enabled folders in a volume parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AutoCachedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/auto-cached-folders/: get: tags: - Volumes summary: List auto cache enabled folders for a volume on a filer parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: limit in: query description: The maximum number of objects to return schema: maximum: 100 minimum: 1 type: integer default: 50 - name: offset in: query description: The index of the first object to return schema: type: integer default: 0 responses: '200': description: Success content: application/json: schema: allOf: - type: object properties: items: type: array items: $ref: '#/components/schemas/AutoCachedFolders' - $ref: '#/components/schemas/Paging' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] post: tags: - Volumes summary: Set auto caching mode description: Metadata mode is only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string requestBody: description: The folder to enable auto cache on and optionally the mode content: application/json: schema: allOf: - type: object - $ref: '#/components/schemas/AutoCachedFolders' required: true responses: '200': description: Accepted - Filer has been sent a message. headers: Location: description: URL to the associated message. schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-codegen-request-body-name: body security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/filers/{filer_serial}/auto-cached-folder/{path}: get: tags: - Volumes summary: Get auto cache folder status for a folder parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AutoCachedFolders' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] delete: tags: - Volumes summary: Disable auto cache mode on a folder description: Only available with Filers on version 8.5 and higher. parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: filer_serial in: path description: Filer object identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message. headers: Location: description: URL to the associated message. schema: type: string content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - AuthToken: [] servers: - url: https://hostname/api/v1.1 /volumes/{volume_guid}/global-lock-folders/{path}: delete: tags: - Volumes summary: Disable global locking on a specified path parameters: - name: volume_guid in: path description: Volume identifier required: true schema: type: string - name: path in: path description: Folder or File path (URL-encoded) required: true schema: type: string responses: '202': description: Accepted - Filer has been sent a message. content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '403': description: Permission denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' '429': description: Request throttled content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' security: - AuthToken: [] servers: - url: https://hostname/api/v1.2 /volumes: get: tags: - Volumes summary: Get Volumes description: 'Get all volumes for the account. Returns the live NOC list, sorted by description.' operationId: get_volumes_volumes_get responses: '200': description: Volumes retrieved successfully content: application/json: schema: $ref: '#/components/schemas/VolumesResponseDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' security: - HTTPBearer: [] servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. /volumes/{volume_id}/edges/{edge_id}/snapshots: get: tags: - Volumes summary: Get Snapshot Status description: 'Snapshot status for one ``(volume, edge)`` pair. Reads directly from the DB. Returns HTTP 404 when no ``VolumeConnection`` exists for the pair (the mount is unknown to Portal — the repo raises :class:`ResourceNotFound` and the global exception handler maps it). Returns ``current_snapshot_status=idle`` when the mount is known but the filer has not yet reported any snapshot metrics for it.' operationId: get_snapshot_status_volumes__volume_id__edges__edge_id__snapshots_get security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id - name: edge_id in: path required: true schema: type: string format: uuid title: Edge Id responses: '200': description: Current snapshot status for the given (volume_id, edge_id) pair content: application/json: schema: $ref: '#/components/schemas/SnapshotStatusResponseDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' post: tags: - Volumes summary: Start Snapshot description: Start a snapshot for the given volume on the specified edge. operationId: start_snapshot_volumes__volume_id__edges__edge_id__snapshots_post security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id - name: edge_id in: path required: true schema: type: string format: uuid title: Edge Id responses: '202': description: Snapshot dispatch accepted content: application/json: schema: $ref: '#/components/schemas/TaskSummaryDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' delete: tags: - Volumes summary: Cancel Snapshot description: Cancel an in-progress snapshot. operationId: cancel_snapshot_volumes__volume_id__edges__edge_id__snapshots_delete security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id - name: edge_id in: path required: true schema: type: string format: uuid title: Edge Id responses: '202': description: Snapshot cancel dispatch accepted content: application/json: schema: $ref: '#/components/schemas/TaskSummaryDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. /volumes/{volume_id}: get: tags: - Volumes summary: Get Volume description: Get a single volume with detailed information. operationId: get_volume_volumes__volume_id__get security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id responses: '200': description: Volume retrieved successfully content: application/json: schema: $ref: '#/components/schemas/VolumeDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. /volumes/{volume_id}/details: get: tags: - Volumes summary: Get Volume Details description: "Get enriched volume details with per-edge state\n\nArgs:\n volume_id: The ID of the volume to retrieve details for\n\nReturns:\n VolumeDetailsDto: The volume with per-edge state and configuration" operationId: get_volume_details_volumes__volume_id__details_get security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id responses: '200': description: Volume details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/VolumeDetailsDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. /volumes/{volume_id}/capacity-history: get: tags: - Volumes summary: Get Volume Capacity History description: "Get capacity history for a volume.\n\nGated by ``can_view_volume_data``.\n\nReturns 200 with an empty data_points list when no capacity data exists yet.\nReturns 404 when the volume_id does not exist.\n\nThe existence check is a cheap PK lookup on ``volumes_v2`` — it avoids a\nfull ``volume_capacity_history`` scan (potentially millions of rows across\nthe tenant) for a not-found volume, and it distinguishes \"unknown volume\"\n(404) from \"known volume with no history yet\" (200 with empty points).\n\nArgs:\n volume_id: The ID of the volume to retrieve capacity history for\n\nReturns:\n VolumeCapacityHistoryResponseDto: Capacity history data points" operationId: get_volume_capacity_history_volumes__volume_id__capacity_history_get security: - HTTPBearer: [] parameters: - name: volume_id in: path required: true schema: type: string title: Volume Id responses: '200': description: Volume capacity history retrieved successfully content: application/json: schema: $ref: '#/components/schemas/VolumeCapacityHistoryResponseDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_3' servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. components: schemas: Paging: type: object properties: href: type: string description: A link to the requested endpoint. limit: type: integer description: The maximum number of items in a page. next: type: string description: A link to the next page of objects. The value will be null if there isn't one. offset: type: integer description: The item number the page starts on. previous: type: string description: A link to the previous page of objects. The value will be null if there isn't one. total: type: integer description: Total number of items available at the requested endpoint. description: The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object. ExportReadOnlyField: type: boolean description: If true, files and directories cannot be changed on the exported directory. Error: type: object properties: code: type: string description: 'Specifies the type of error reported. Possible values: * "error" - General error * "validation_error" - Validation error * "not_found_error" - Resource not found * "auth_error" - Authentication error * "perm_error" - Permission error * "sync_error" - Error occurred syncing settings with a Filer. * "throttled_error" - The request was throttled; too many sent within a duration. ' enum: - error - validation_error - not_found_error - auth_error - perm_error - sync_error - throttled_error description: type: string description: Description of the error reported. AntivirusViolation: type: object properties: id: type: integer description: Antivirus violation identifier fpath: type: string description: The file path of the infected source file. vname: type: string description: The name of the virus. volume_uri: type: string description: The URI of the file, including the associated volume identifier. seqno: type: integer description: Sequence number of the violation. filer_serial_number: type: string description: Unique identifier for the associated filer. volume_guid: type: string description: Unique identifier for the associated volume. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' volume: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: Antivirus violation object Share: type: object properties: id: type: integer description: Share identifier. filer_serial_number: type: string description: Unique identifier for the associated filer. volume_guid: type: string description: Unique identifier for the associated volume. name: type: string description: The name of the CIFS share. path: type: string description: Path of the share. comment: type: string description: Any comments regarding the share. readonly: type: boolean description: If enabled, users can not change the contents of the share. browseable: type: boolean description: If enabled, this share will appear when browsing. hosts_allow: type: string description: Hosts allowed to access the share. IP addresses or IP address/netmask values separated by spaces. Blank allows all hosts hide_unreadable: type: boolean description: Files and folders that the user cannot access do not appear in folder listings. enable_previous_vers: type: boolean description: Allow users to view and restore files using the Previous Versions tab in Windows case_sensitive: type: boolean description: Files and folders are considered different if the case of letters in the name differs. (Enabling case sensitivity aids performance) enable_snapshot_dirs: type: boolean description: Allows clients to access the hidden snapshot directories, showing previous versions of the file system (requires enabling Snapshot Directory Access for the volume). homedir_support: type: integer description: 'When enabled, the target folder path for the share is automatically appended with a folder named for the user. Possible values: * 0 - Disable * 2 - Enable ' mobile: type: boolean description: Enable desktop and/or mobile device support browser_access: type: boolean description: Enable web access browser_access_settings: type: object properties: shared_links_enabled: type: boolean description: Allow creating shared links to Web Access. link_force_password: type: boolean description: Require passwords for all shared links. link_allow_rw: type: boolean description: Allow the user to create writable shared links to directories. external_share_url: type: string description: External hostname for shared links. link_expire_limit: type: integer link_auth: type: object properties: authall: type: boolean description: 'When true, all users will be allowed to create shared links. When false, no user will have access to the shared links until a user, or a group the user is a member of, is specified. ' allow_groups_ro: type: array description: Groups with read-only access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_groups_rw: type: array description: Groups with read-write access to shared links. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups denied access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_users_ro: type: array description: Users with read-only access to shared links. items: $ref: '#/components/schemas/UserNameField' allow_users_rw: type: array description: Users with read-write access to shared links. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users denied access to shared links. items: $ref: '#/components/schemas/UserNameField' description: Shared link authentication settings. description: Settings that can be applied to web access. aio_enabled: type: boolean description: Asynchronous I/O. Enable concurrent read/write access per client connection. veto_files: type: string description: 'Block files. Specify file or directory name patterns that the share will make both invisible and inaccessible. Enter one pattern per line. The wildcard characters ''*'' and ''?'' may be used to specify multiple files or directories. The ''/'' character is not valid. Note: This feature can break compatibility with some clients. ' fruit_enabled: type: boolean description: Enhances share behavior, including SMB2 protocol support, for Mac OS X Clients when possible. smb_encrypt: type: string description: Control if clients are desired or required to use SMB encryption when connecting to the share. Includes SMB3 encryption for Windows clients. Empty string indicates that client usage of encryption is optional. enum: - '' - desired - required auth: type: object properties: authall: type: boolean description: 'When true, all Users can authenticate. When false, only specific Groups and Users can authenticate. In this situation, no user will have access to the share until a user, or a group the user is a member of, is specified. ' rw_groups: type: array description: Groups with read-write access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_groups: type: array description: Groups with read-only access to the share. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups to deny access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_users: type: array description: Users with read-only access to the share. items: $ref: '#/components/schemas/UserNameField' rw_users: type: array description: Users with read-write access to the share. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users to deny access to the share. items: $ref: '#/components/schemas/UserNameField' description: Share authentication settings. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' volume: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: CIFS Share FtpDirectory: type: object properties: id: type: integer description: FTP directory identifier. name: type: string description: Name of the FTP directory. path: type: string description: Path of the FTP directory. comment: type: string description: Any comments regarding the FTP directory. readonly: type: boolean description: If true, users cannot change the contents of the directory. visibility: type: string description: 'Controls what files and directories users can see. * "default" - Every file is visible to user, even if user does not have access permissions. * "hide" - Users only see files they have permission to access. * "invisible" - No files are visible to user. If user has filename and permission, user can access file.' enum: - default - hide - invisible allow_from: type: string description: 'Comma-separated list of IP addresses or subnet addresses of hosts allowed to access FTP directory. If blank, all hosts on your network have access. This feature cannot be used in conjunction with Users/Groups restrictions. ' allow_users: type: string description: The users that will be allowed to access the FTP directory. allow_groups: type: string description: The groups that will be allowed to access the FTP directory. anonymous: type: boolean description: If true, allow anonymous FTP access. anonymous_only: type: boolean description: 'If true, only the anonymous user will be granted access. This feature cannot be used in conjunction with IP address restrictions. ' umask: type: string description: 'Normally, newly created files and directories have read and write access for the owner, groups and other users. This option allows you to restrict read and write access for groups or others. * ''000'' - No Extra Restrictions (Default) * ''002'' - Read-Only Others * ''022'' - Read-Only Groups and Others * ''006'' - Restrict Others * ''066'' - Restrict Groups and Others * ''026'' - Read-Only Groups, Restrict Others ' enum: - '000' - '002' - '022' - '006' - '066' - '026' hide_ownership: type: boolean description: 'All directory listings will show owner and group information as "ftp", hiding the underlying owner and group. This may also be used to work around directory listing issues on some non-interactive clients. ' hidden_stores: type: boolean description: 'File uploads are done in two steps using a temporary file. This prevents issues with incomplete uploads and file use before upload is complete. This feature prevents resuming uploads. This is automatically enabled for anonymous uploads. ' filer_serial_number: type: string description: Unique identifier for the associated filer. volume_guid: type: string description: Unique identifier for the associated volume. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' volume: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: FTP directory object GroupNameField: type: string description: Group name Export: type: object properties: id: type: integer description: Export identifier filer_serial_number: type: string description: Unique identifier for the associated filer. volume_guid: type: string description: Unique identifier for the associated volume. name: type: string description: Name of the export. path: type: string description: Path of the exported directory. comment: type: string description: Any comments regarding the export. readonly: $ref: '#/components/schemas/ExportReadOnlyField' hostspec: $ref: '#/components/schemas/ExportHostSpecField' access_mode: $ref: '#/components/schemas/ExportAccessModeField' perf_mode: $ref: '#/components/schemas/ExportPerfModeField' sec_options: $ref: '#/components/schemas/ExportSecOptionsField' nfs_host_options: type: array description: List of NFS Export Host options items: type: object properties: hostspec: $ref: '#/components/schemas/ExportHostSpecField' readonly: $ref: '#/components/schemas/ExportReadOnlyField' access_mode: $ref: '#/components/schemas/ExportAccessModeField' perf_mode: $ref: '#/components/schemas/ExportPerfModeField' sec_options: $ref: '#/components/schemas/ExportSecOptionsField' description: Host specific options for the exported directory. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' volume: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: Export object UserNameField: type: string description: User name VolumeFilerSetting: type: object properties: guid: type: string description: Volume identifier. filer_serial_number: type: string description: Filer identifier. name: type: string description: Display name for the volume on the specified filer. type: type: string description: 'Type of Volume. Possible values: * ''master'' - This volume is owned by this filer. * ''remote'' - This volume is remote, relative to this filer. ' enum: - master - remote sync_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to perform syncs. allday: type: boolean description: If true, will sync all day. start: type: integer description: Hour of the day to start the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that sync will run (minutes). auto_cache_allowed: type: boolean description: If true, auto cache will be enabled for the entire volume. When enabled, auto cache may be enabled at a folder level. auto_cache_min_file_size: type: integer description: Auto Cache Minimum File Size in bytes. When Auto Cache is enabled, only files greater than or equal to the specified size will be automatically brought into cache. description: Sync schedule snapshot_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to allow snapshots to occur. allday: type: boolean description: If true, will allow snapshots all day. start: type: integer description: Hour of the day to start allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that snapshots will occur (minutes). description: Snapshot schedule snapshot_access: type: boolean description: If true, the snapshot directory is accessible. file_alerts_service: type: object properties: enabled: type: boolean description: If true, the file alert service is enabled. patterns: type: array description: File/Directory patterns. items: type: string description: Name pattern for files or directories. The wildcard character "*" is used to represent multiple possible characters. For example, "*.mp3" will cause an alert on all files with the mp3 extension. description: File Alert service configuration. auditing: type: object properties: enabled: type: boolean description: If true, file system auditing is enabled for the volume. events: type: object properties: create: type: boolean description: If true, will log file, directory, and link creation operations. delete: type: boolean description: If true, will log file and directory delete operations. rename: type: boolean description: If true, will log file and directory rename operations. close: type: boolean description: If true, will log file close operations. security: type: boolean description: If true, will log file and directory ownership and permission changes. metadata: type: boolean description: If true, will log changes to update time and extended attributes. write: type: boolean description: If true, will log file write and truncate operations. read: type: boolean description: If true, will log file and directory read operations. description: Various file system events that can be audited. logs: type: object properties: write_audit_logs: type: boolean description: If true, audit logs will be wrote to the .nasuni directory for this volume. prune_audit_logs: type: boolean description: If true, audit logs older than the specified number of days will be deleted. The number of days can be specified by the 'days_to_keep' property. days_to_keep: type: integer description: Number of days to keep audit logs. A value of 0 will disable pruning of audit logs. exclude_by_default: type: boolean description: Do not audit operations for any path not matching an entry in the include list (see 'include_patterns'). include_takes_priority: type: boolean description: Operations on items matching an entry in the include list will always be included even if matching an entry in the exclude list (see 'exclude_patterns'). include_patterns: type: array description: List of path patterns to include in the audit logs. items: type: string description: Path to include in the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. exclude_patterns: type: array description: List of path patterns to exclude from the audit logs. items: type: string description: Path to exclude from the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. description: Audit log settings. description: Volume auditing settings. status: type: object properties: accessible_data: type: integer description: Number of bytes of data that are accessible via this volume. data_not_yet_protected: type: integer description: Number of bytes of data that have not been protected. first_snapshot: type: string description: Datetime of the first snapshot that occurred on the volume. last_snapshot: type: string description: Datetime of the last snapshot that occurred on the volume. last_snapshot_start: type: string description: Datetime of the start of the last snapshot. last_snapshot_end: type: string description: Datetime of the end of the last snapshot. last_snapshot_version: type: integer description: The version number of the last snapshot that occurred. snapshot_status: type: string description: 'Current snapshot status. Possible values: * ''idle'' - No snapshots are in progress. * ''pending'' - A snapshot is pending and will be performed soon. * ''in_progress'' - A snapshot is in progress. ' enum: - idle - pending - in_progress snapshot_percent: type: integer description: If a snapshot is 'in_progress', this will show the percentage that it is complete. ftp_dir_count: type: integer description: Number of FTP directories accessible via this volume. export_count: type: integer description: Number of Exports accessible via this volume. share_count: type: integer description: Number of Shares accessible via this volume. description: Volume status for a particular Filer. links: type: object properties: self: $ref: '#/components/schemas/Link' shares: $ref: '#/components/schemas/Link' exports: $ref: '#/components/schemas/Link' ftp_directories: $ref: '#/components/schemas/Link' antivirus_violations: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: Filer specfic volume settings. ExportSecOptionsField: type: array description: Security options in use by the exported directory. Multiple options may be applied, but they cannot be repeated. items: type: string description: 'Possible values: * ''sys'' - Traditional * ''krb5'' - Authentication * ''krb5i'' - Integrity Protection * ''krb5p'' - Privacy Protection ' enum: - sys - krb5 - krb5i - krb5p VolumeConnection: type: object properties: connected: type: boolean description: If true, the specified filer is connected to the volume. volume_guid: type: string description: Volume identifier. filer_serial_number: type: string description: Filer identifier. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: Volume to filer connection. ExportPerfModeField: type: string description: 'Controls the method in which the NFS server replies to clients. Changing this may impact the safety of data if the Nasuni Filer is shut down abnormally! Possible values: * ''sync'' - Default * ''no_wdelay'' - No Write Delay * ''async'' - Asynchronous Replies ' enum: - sync - no_wdelay - async Volume: type: object properties: guid: type: string description: Volume identifier. filer_serial_number: type: string description: Identifier to the Filer the volume was created on. name: type: string description: The name of the volume. nmc_managed: type: boolean description: Indicates if the volume is fully managed by the NMC. protocols: type: object properties: permissions_policy: type: string description: 'Permission policy of the volume. Possible values: * ''NTFS60'' - NTFS Compatible Mode * ''NTFSONLY710'' - NTFS Exclusive Mode * ''POSIX60'' - POSIX Mixed Mode * ''MODEBITS60'' - UNIX/NFS Permissions Only Mode * ''PUBLICMODE60'' - Unauthenticated Access Mode ' enum: - NTFS60 - NTFSONLY710 - POSIX60 - MODEBITS60 - PUBLICMODE60 protocols: type: array items: type: string description: Protocols enabled on the volume. enum: - CIFS - NFS - FTP description: Volume protocol settings. antivirus_service: type: object properties: enabled: type: boolean days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week the antivirus service will run. check_files_immediately: type: boolean description: If true, files will be checked as they are written (CIFS volumes only). allday: type: boolean description: If true, the antivirus service will run all day. start: type: integer description: Hour of the day to start the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency the service will run (minutes). description: Volume Antivirus Service settings remote_access: type: object properties: enabled: type: boolean description: If true, remote access is enabled for the volume. access_permissions: type: string description: 'The remote access permission for this volume applies to all other Nasuni Filers on your account. A value of ''custom'' allows providing access permissions per Nasuni Filer (see ''filer_access'' property). ' enum: - readonly - readwrite - custom filer_access: type: array items: type: object properties: filer_guid: type: string description: Filer identifier permission: type: string description: Access permission for the Filer. enum: - disabled - readonly - readwrite description: Apply volume remote access permissions for an individual Filer. description: Volume remote access settings quota: type: integer description: Maximum volume capacity in gigabytes. Set to 0 for unlimited. Quotas are applied after each successful snapshot. case_sensitive: type: boolean description: If true, the volume is case-sensitive. CIFS-only volumes perform better when volume is case-insensitive (value of false). snapshot_retention: type: object properties: retain: type: string description: 'Type of snapshot retention imposed. Possible values: * ''INFINITE'' - All snapshots * ''BY_COUNT'' - Set number of snapshots * ''BY_AGE'' - Snapshots within a range ' enum: - INFINITE - BY_COUNT - BY_AGE number: type: integer description: Number of snapshots to retain. years: type: integer description: Years to retain snapshots. months: type: integer description: Months to retain snapshots. days: type: integer description: Days to retain snapshots. description: Volume snapshot retention cloud_io: type: object properties: dedupe: type: boolean description: If true, deduplication is enabled. Deduplication is a data compression technique for eliminating duplicate copies of repeating data. compression: type: boolean description: If true, compression (via zlib) is enabled. chunk_size: type: integer description: Chunk size in bytes for cloud I/O. Value of zero means the default value will be used. description: Volume Cloud I/O settings. provider: type: object properties: cred_id: type: string description: Credential identifier. name: type: string description: Full name of the cloud provider. shortname: type: string description: Shortname (code) of the cloud provider. location: type: string description: Location/region the volume was created in. auth: type: object properties: authenticated_access: type: boolean description: If true, the users must authenticate to access the volume. If false, the volume is publicly available to all users. policy: type: string description: Authentication policy. enum: - ads - ldapds - public policy_label: type: string description: Full name of the Authentication policy. links: type: object properties: self: $ref: '#/components/schemas/Link' filer: $ref: '#/components/schemas/Link' filer_settings: $ref: '#/components/schemas/Link' filer_connections: $ref: '#/components/schemas/Link' shares: $ref: '#/components/schemas/Link' exports: $ref: '#/components/schemas/Link' ftp_directories: $ref: '#/components/schemas/Link' antivirus_violations: $ref: '#/components/schemas/Link' description: Links to related resources, collections, and actions. description: Representation of a Volume object. ExportHostSpecField: type: string description: Hostname, IP address with optional netmask, or @-prefixed netgroup names allowed to access the export. If blank, all hosts on your network can access the export. Hostnames may contain the * character as a wildcard. Link: type: object properties: href: type: string description: Hyperlink to the resource. method: type: string description: HTTP method to use on the link. ExportAccessModeField: type: string description: 'Controls what User IDs are allowed when a client writes to the exported directory. Possible values: * ''root_squash'' - Normal Users Permitted * ''no_root_squash'' - All Users Permitted * ''all_squash'' - Anonymize All Users ' enum: - root_squash - no_root_squash - all_squash GlobalLocking: type: object properties: path: type: string description: Path of the global locking settings. mode: type: string description: The desired mode of global locking. enum: - optimized - advanced - asynchronous filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Global locking object. NfsHostOption: type: object properties: id: type: integer description: Host option identifier readOnly: true readonly: $ref: '#/components/schemas/ExportReadOnlyField_2' hostspec: $ref: '#/components/schemas/ExportHostSpecField_2' access_mode: $ref: '#/components/schemas/ExportAccessModeField_2' perf_mode: $ref: '#/components/schemas/ExportPerfModeField_2' sec_options: $ref: '#/components/schemas/ExportSecOptionsField_2' links: type: object properties: self: $ref: '#/components/schemas/Link_2' export: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: An NFS Export Host Option object VolumeFilerSetting_2: type: object properties: guid: type: string description: Volume identifier. readOnly: true filer_serial_number: type: string description: Filer identifier. readOnly: true name: type: string description: Display name for the volume on the specified filer. readOnly: true type: type: string description: 'Type of Volume. Possible values: * ''master'' - This volume is owned by this filer. * ''remote'' - This volume is remote, relative to this filer. ' readOnly: true enum: - master - remote sync_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to perform syncs. allday: type: boolean description: If true, will sync all day. start: type: integer description: Hour of the day to start the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that sync will run (minutes). auto_cache_allowed: type: boolean description: If true, auto cache will be enabled for the entire volume. When enabled, auto cache may be enabled at a folder level. auto_cache_min_file_size: type: integer description: Auto Cache Minimum File Size in bytes. When Auto Cache is enabled, only files greater than or equal to the specified size will be automatically brought into cache. description: Sync schedule readOnly: true snapshot_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to allow snapshots to occur. allday: type: boolean description: If true, will allow snapshots all day. start: type: integer description: Hour of the day to start allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that snapshots will occur (minutes). description: Snapshot schedule readOnly: true snapshot_access: type: boolean description: If true, the snapshot directory is accessible. readOnly: true file_alerts_service: type: object properties: enabled: type: boolean description: If true, the file alert service is enabled. patterns: type: array description: File/Directory patterns. items: type: string description: Name pattern for files or directories. The wildcard character "*" is used to represent multiple possible characters. For example, "*.mp3" will cause an alert on all files with the mp3 extension. description: File Alert service configuration. readOnly: true auditing: type: object properties: enabled: type: boolean description: If true, file system auditing is enabled for the volume. collapse: type: boolean description: If true, sequential READ/WRITE events will be rolled-up into a single event. If false, every event will be treated individually. output_type: type: string description: Where the audit events will be written and the format they will be in. enum: - csv - amqp - varonis destination: type: string description: The name of the audit destination to which amqp or varonis events are sent. events: type: object properties: create: type: boolean description: If true, will log file, directory, and link creation operations. delete: type: boolean description: If true, will log file and directory delete operations. rename: type: boolean description: If true, will log file and directory rename operations. close: type: boolean description: If true, will log file close operations. security: type: boolean description: If true, will log file and directory ownership and permission changes. metadata: type: boolean description: If true, will log changes to update time and extended attributes. write: type: boolean description: If true, will log file write and truncate operations. read: type: boolean description: If true, will log file and directory read operations. description: Various file system events that can be audited. logs: type: object properties: prune_audit_logs: type: boolean description: If true, audit logs older than the specified number of days will be deleted. The number of days can be specified by the 'days_to_keep' property. days_to_keep: type: integer description: Number of days to keep audit logs. A value of 0 will disable pruning of audit logs. exclude_by_default: type: boolean description: Do not audit operations for any path not matching an entry in the include list (see 'include_patterns'). include_takes_priority: type: boolean description: Operations on items matching an entry in the include list will always be included even if matching an entry in the exclude list (see 'exclude_patterns'). include_patterns: type: array description: List of path patterns to include in the audit logs. items: type: string description: Path to include in the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. exclude_patterns: type: array description: List of path patterns to exclude from the audit logs. items: type: string description: Path to exclude from the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. user_blacklist: type: array description: A list of the users that should be excluded from auditing items: type: string description: Fully qualified names of the users to be excluded from auditing. For AD users this is 'DOMAIN\UserName', for filer local users it is 'UserName'. protocol_whitelist: type: array description: A list of the protocols that should not be reported on empty being all protocols items: type: string description: Names of the protocols to be in the list enum: - CIFS - NFS - FTP - ADMIN - RESERVED - UNKNOWN description: Audit log settings. syslog_export: type: boolean description: Enable the sending of audit messages to the specified Volumes to syslog. description: Volume auditing settings. status: type: object properties: accessible_data: type: integer description: Number of bytes of data that are accessible via this volume. data_not_yet_protected: type: integer description: Number of bytes of data that have not been protected. first_snapshot: type: string description: Datetime of the first snapshot that occured on the volume. last_snapshot: type: string description: Datetime of the last snapshot that occured on the volume. last_snapshot_start: type: string description: Datetime of the start of the last snapshot. last_snapshot_end: type: string description: Datetime of the end of the last snapshot. last_snapshot_version: type: integer description: The version number of the last snapshot that occured. snapshot_status: type: string description: 'Current snapshot status. Possible values: * ''idle'' - No snapshots are in progress. * ''pending'' - A snapshot is pending and will be performed soon. * ''in_progress'' - A snapshot is in progress. ' enum: - idle - pending - in_progress snapshot_percent: type: integer description: If a snapshot is 'in_progress', this will show the percentage that it is complete. ftp_dir_count: type: integer description: Number of FTP directories accessible via this volume. export_count: type: integer description: Number of Exports accessible via this volume. share_count: type: integer description: Number of Shares accessible via this volume. description: Volume status for a particular Filer. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' shares: $ref: '#/components/schemas/Link_2' exports: $ref: '#/components/schemas/Link_2' ftp_directories: $ref: '#/components/schemas/Link_2' antivirus_violations: $ref: '#/components/schemas/Link_2' snapshots: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Filer specfic volume settings. ExportPerfModeField_2: type: string description: 'Controls the method in which the NFS server replies to clients. Changing this may impact the safety of data if the Nasuni Filer is shut down abnormally! Possible values: * ''sync'' - Default * ''no_wdelay'' - No Write Delay * ''async'' - Asynchronous Replies ' default: sync enum: - sync - no_wdelay - async Volume_2: required: - filer_serial_number - name type: object properties: guid: type: string description: Volume identifier. readOnly: true filer_serial_number: type: string description: Identifier to the Filer the volume was created on. name: type: string description: The name of the volume. nmc_managed: type: boolean description: Indicates if the volume is fully managed by the NMC. readOnly: true protocols: required: - protocols type: object properties: permissions_policy: type: string description: 'Permission policy of the volume. Possible values: * ''NTFS60'' - NTFS Compatible Mode * ''NTFSONLY710'' - NTFS Exclusive Mode * ''POSIX60'' - POSIX Mixed Mode * ''MODEBITS60'' - UNIX/NFS Permissions Only Mode * ''PUBLICMODE60'' - Unauthenticated Access Mode ' enum: - NTFS60 - NTFSONLY710 - POSIX60 - MODEBITS60 - PUBLICMODE60 protocols: type: array items: type: string description: Protocols enabled on the volume. enum: - CIFS - NFS - FTP description: Volume protocol settings. antivirus_service: type: object properties: enabled: type: boolean days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week the antivirus service will run. check_files_immediately: type: boolean description: If true, files will be checked as they are written (CIFS volumes only). allday: type: boolean description: If true, the antivirus service will run all day. start: type: integer description: Hour of the day to start the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency the service will run (minutes). description: Volume Antivirus Service settings remote_access: required: - access_permissions - enabled - filer_access type: object properties: enabled: type: boolean description: If true, remote access is enabled for the volume. access_permissions: type: string description: 'The remote access permission for this volume applies to all other Nasuni Filers on your account. A value of ''custom'' allows providing access permissions per Nasuni Filer (see ''filer_access'' property). ' enum: - readonly - readwrite - custom filer_access: type: array items: type: object properties: filer_guid: type: string description: Filer identifier permission: type: string description: Access permission for the Filer. enum: - disabled - readonly - readwrite description: Apply volume remote access permissions for an individual Filer. description: Volume remote access settings readOnly: true quota: minimum: 0 type: integer description: Maximum volume capacity in gigabytes. Set to 0 for unlimited. Quotas are applied after each successful snapshot. case_sensitive: type: boolean description: If true, the volume is case-sensitive. CIFS-only volumes perform better when volume is case-insensitive (value of false). readOnly: true snapshot_retention: type: object properties: retain: type: string description: 'Type of snapshot retention imposed. Possible values: * ''INFINITE'' - All snapshots * ''BY_COUNT'' - Set number of snapshots * ''BY_AGE'' - Snapshots within a range ' enum: - INFINITE - BY_COUNT - BY_AGE number: type: integer description: Number of snapshots to retain. years: type: integer description: Years to retain snapshots. months: type: integer description: Months to retain snapshots. days: type: integer description: Days to retain snapshots. description: Volume snapshot retention cloud_io: type: object properties: dedupe: type: boolean description: If true, deduplication is enabled. Deduplication is a data compression technique for eliminating duplicate copies of repeating data. compression: type: boolean description: If true, compression (via zlib) is enabled. chunk_size: type: integer description: Chunk size in bytes for cloud I/O. Value of zero means the default value will be used. description: Volume Cloud I/O settings. provider: required: - location - shortname type: object properties: cred_id: type: string description: Credential identifier. name: type: string description: Full name of the cloud provider. shortname: type: string description: Shortname (code) of the cloud provider. enum: - amazons3 - azure - cleversafe - hcp - ibmcos - vipr - googles3 location: type: string description: Location/region the volume was created in. storage_class: type: string description: Storage class the volume was created in (Google only). auth: required: - authenticated_access type: object properties: authenticated_access: type: boolean description: If true, the users must authenticate to access the volume. If false, the volume is publicly available to all users. policy: type: string description: Authentication policy. enum: - ads - ldapds - public policy_label: type: string description: Full name of the Authentication policy. root_handle: type: string description: The table of contents handle for the root of the volume for use with UniFS Exporter. Only appears if enabled by support. readOnly: true bucket: type: string description: If using BYOC, this is the bucket containing the volume. readOnly: true account_name: type: string description: If using Windows Azure Platform and BYOC, this is the storage account name associated with the volume. readOnly: true options: type: object properties: auto_provision_cred: type: boolean description: If using BYOC and not providing a provider cred_id, this will provision one. default: false create_new_key: type: boolean description: Create a new key to use for volume data. Beginning with the 9.3 release, you must set an escrow passphrase before generating new encryption keys or escrowing uploaded encryption keys with Nasuni. default: true key_name: type: string description: If creating a new key, the optional name to use for the key. Otherwise the name of the existing key to use. create_default_access_point: type: boolean description: After the volume is created, automatically create a CIFS share or NFS export. default: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' filer_settings: $ref: '#/components/schemas/Link_2' filer_connections: $ref: '#/components/schemas/Link_2' shares: $ref: '#/components/schemas/Link_2' exports: $ref: '#/components/schemas/Link_2' ftp_directories: $ref: '#/components/schemas/Link_2' antivirus_violations: $ref: '#/components/schemas/Link_2' folder_quotas: $ref: '#/components/schemas/Link_2' snapshots: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Representation of a Volume object. ExportReadOnlyField_2: type: boolean description: If true, files and directories cannot be changed on the exported directory. Default is false. default: false FolderQuota: required: - limit - path - type type: object properties: id: type: string description: FolderQuota identifier readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true type: type: string description: The type of folder quota object enum: - rule - quota path: type: string description: Path of the folder quota. email: type: string description: Email associated with the folder quota. limit: minimum: 0 type: integer description: Usage limit of the folder quota in bytes. usage: type: integer description: Current usage of the folder quota in bytes. readOnly: true children: type: boolean description: Whether a rule applies to child folders. links: type: object properties: self: $ref: '#/components/schemas/Link_2' delete: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: FolderQuota object AutoCachedFolders: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the auto cache enabled folder. mode: type: string description: 'Specifies the auto caching mode to enable. * "metadata" - Enable auto cache only on metadata. * "metadata_and_data" - Enable auto cache metadata and data. ' default: metadata_and_data enum: - metadata - metadata_and_data links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' disable: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Auto Cache Folder object. PinnedFolders: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the pinned folder. mode: type: string description: 'Specifies the pinning mode to enable. * "metadata" - Enable pinning only on metadata. * "metadata_and_data" - Enable pinning on metadata and data. ' default: metadata_and_data enum: - metadata - metadata_and_data links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' disable: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Pinned Folder object. Snapshot: type: object properties: volume_guid: type: string description: Identifier of the associated Volume. filer_serial_number: type: string description: Identifier of the associated Filer. snapshot_status: type: string description: 'Current snapshot status. Possible values: * ''idle'' - No snapshots are in progress. * ''pending'' - A snapshot is pending and will be performed soon. * ''in_progress'' - A snapshot is in progress. ' enum: - idle - pending - in_progress snapshot_percent: type: integer description: If a snapshot is 'in_progress', this will show the percentage that it is complete. links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. description: Representation of a volume snapshot status Share_2: required: - name - path type: object properties: id: type: integer description: Share identifier. readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true name: type: string description: The name of the CIFS share. path: type: string description: Path of the share. comment: type: string description: Any comments regarding the share. readonly: type: boolean description: If enabled, users can not change the contents of the share. default: false browseable: type: boolean description: If enabled, this share will appear when browsing. default: true hosts_allow: type: string description: Hosts allowed to access the share. IP addresses or IP address/netmask values separated by spaces. Blank allows all hosts default: '' hide_unreadable: type: boolean description: Files and folders that the user cannot access do not appear in folder listings. default: true enable_previous_vers: type: boolean description: Allow users to view and restore files using the Previous Versions tab in Windows default: false case_sensitive: type: boolean description: Files and folders are considered different if the case of letters in the name differs. (Enabling case sensitivity aids performance) default: false enable_snapshot_dirs: type: boolean description: Allows clients to access the hidden snapshot directories, showing previous versions of the file system (requires enabling Snapshot Directory Access for the volume). default: false homedir_support: type: integer description: 'When enabled, the target folder path for the share is automatically appended with a folder named for the user. Possible values: * 0 - Disable * 2 - Enable ' mobile: type: boolean description: Enable desktop and/or mobile device support default: false browser_access: type: boolean description: Enable web access default: false browser_access_settings: type: object properties: shared_links_enabled: type: boolean description: Allow creating shared links to Web Access. default: false link_force_password: type: boolean description: Require passwords for all shared links. default: true link_allow_rw: type: boolean description: Allow the user to create writable shared links to directories. default: false external_share_url: type: string description: External hostname for shared links. link_expire_limit: maximum: 999 minimum: 0 type: integer description: Maximum number of days until shared links expire. Set to 0 for unlimited. link_auth: type: object properties: authall: type: boolean description: 'When true, all users will be allowed to create shared links. When false, no user will have access to the shared links until a user, or a group the user is a member of, is specified. ' default: true allow_groups_ro: type: array description: Groups with read-only access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_groups_rw: type: array description: Groups with read-write access to shared links. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups denied access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_users_ro: type: array description: Users with read-only access to shared links. items: $ref: '#/components/schemas/UserNameField' allow_users_rw: type: array description: Users with read-write access to shared links. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users denied access to shared links. items: $ref: '#/components/schemas/UserNameField' description: Shared link authentication settings. description: Settings that can be applied to web access. aio_enabled: type: boolean description: Asynchronous I/O. Enable concurrent read/write access per client connection. default: true veto_files: type: string description: 'Block files. Specify file or directory name patterns that the share will make both invisible and inaccessible. Enter one pattern per line. The wildcard characters ''*'' and ''?'' may be used to specify multiple files or directories. The ''/'' character is not valid. Note: This feature can break compatibility with some clients. ' default: '' fruit_enabled: type: boolean description: Enhances share behavior, including SMB2 protocol support, for Mac OS X Clients when possible. default: false smb_encrypt: type: string description: Control if clients are desired or required to use SMB encryption when connecting to the share. Includes SMB3 encryption for Windows clients. Empty string indicates that client usage of encryption is optional. default: '' enum: - '' - desired - required auth: type: object properties: authall: type: boolean description: 'When true, all Users can authenticate. When false, only specific Groups and Users can authenticate. In this situation, no user will have access to the share until a user, or a group the user is a member of, is specified. ' default: true rw_groups: type: array description: Groups with read-write access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_groups: type: array description: Groups with read-only access to the share. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups to deny access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_users: type: array description: Users with read-only access to the share. items: $ref: '#/components/schemas/UserNameField' rw_users: type: array description: Users with read-write access to the share. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users to deny access to the share. items: $ref: '#/components/schemas/UserNameField' description: Share authentication settings. links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: CIFS Share CachePath: type: object properties: metadata_only: type: boolean description: Whether or not directory metadata should be brought into cache default: false force: type: boolean description: Whether or not to force the action of brining the data into cache. This causes the request to not care about the available amount of cache and try to bring as much data into the cache as it can. This is only necessary when metadata_only is false. default: false description: Cache object ErrorResponse: type: object properties: error: $ref: '#/components/schemas/Error_2' PathData: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the file or folder readOnly: true is_dir: type: boolean description: If the path is to a folder readOnly: true cache_resident: type: boolean description: If the path resident in the filer's cache readOnly: true protected: type: boolean description: If the file or folder has been pushed to the cloud since its last edit readOnly: true owner: type: string description: The owner of the file or folder readOnly: true size: type: integer description: The size of the file in cache or the rolled-up size of the folder as of the last time it was pushed to the cloud readOnly: true pinning_enabled: type: boolean description: If this folder is pinned in cache readOnly: true pinning_mode: type: string description: 'Specifies the pinning mode to enable. * "disabled" - Pinning is disabled. * "metadata" - Pinning is enabled for metadata only. * "metadata_and_data" - Pinning is enabled for metadata and data. ' readOnly: true enum: - metadata - metadata_and_data - disabled pinning_inherited: type: boolean description: If this folder is inheriting pinning readOnly: true autocache_enabled: type: boolean description: If this folder has autocache enabled readOnly: true autocache_mode: type: string description: 'Specifies the auto cache mode to enable. * "disabled" - Auto cache is disabled. * "metadata" - Auto cache is enabled for metadata only. * "metadata_and_data" - Auto cache is enabled for metadata and data. ' readOnly: true enum: - metadata - metadata_and_data - disabled autocache_inherited: type: boolean description: If this folder is inheriting autocaching readOnly: true quota_enabled: type: boolean description: If this folder has a quota readOnly: true quota_type: type: string description: The type of folder quota if there is one readOnly: true enum: - rule - quota quota_email: type: string description: The email associated with the folder quota if there is one readOnly: true quota_usage: type: integer description: The amount used against the folder quota in bytes readOnly: true quota_limit: type: integer description: The folder quota limit if the setting is enabled readOnly: true quota_inherited: type: boolean description: If this folder is inheriting a quota rule readOnly: true global_locking_enabled: type: boolean description: If this folder has global locking enabled readOnly: true global_locking_inherited: type: boolean description: If this folder is inheriting global locking readOnly: true global_locking_mode: type: string description: The mode of global locking if it's enabled readOnly: true enum: - optimized - advanced - asynchronous updated: type: string description: The datetime when this metadata was last refreshed from the filer readOnly: true expires: type: string description: The datetime when this metadata expires and will need to be refreshed readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' refresh: $ref: '#/components/schemas/Link_2' cache: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Path information object Export_2: type: object properties: id: type: integer description: Export identifier readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true name: type: string description: Name of the export. path: type: string description: Path of the exported directory. Default is '/'. default: / comment: type: string description: Any comments regarding the export. readonly: $ref: '#/components/schemas/ExportReadOnlyField_2' hostspec: $ref: '#/components/schemas/ExportHostSpecField_2' access_mode: $ref: '#/components/schemas/ExportAccessModeField_2' perf_mode: $ref: '#/components/schemas/ExportPerfModeField_2' sec_options: $ref: '#/components/schemas/ExportSecOptionsField_2' nfs_host_options: type: array description: Additional host options for the Export. The items in this list can be created, read, updated, and deleted via the host option endpoints. readOnly: true items: $ref: '#/components/schemas/NfsHostOption' links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' nfs_host_options: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Export object ExportSecOptionsField_2: maxItems: 4 type: array description: Security options in use by the exported directory. Multiple options may be applied, but they cannot be repeated. items: type: string description: 'Possible values: * ''sys'' - Traditional - Default * ''krb5'' - Authentication * ''krb5i'' - Integrity Protection * ''krb5p'' - Privacy Protection ' enum: - sys - krb5 - krb5i - krb5p Message: type: object properties: id: type: string description: ID of the message. filer_serial_number: type: string description: Identifier to the Filer the message is associated with. description: type: string description: Description of the intent of message. code: type: string description: A code identifying the intent of the message. status: type: string description: 'Current status of the message. * ''synced'' - Message has been received by the Filer, and the Filer returned a success response. * ''pending'' - Message is currently in transit. * ''failure'' - Messages has been received by the Filer, but returned an error response.' enum: - synced - pending - failure send_time: type: string description: Time the message was sent. expiration_time: type: string description: Time a synced message will expire and be removed from the messages list. response_time: type: string description: Time a message response was received. initiated_by: type: string description: The username of the user who triggered the message, or '[console]' if triggered by the NMC itself. links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' acknowledge: $ref: '#/components/schemas/Link_2' applied_resource: type: object properties: href: type: string description: Hyperlink to the resource. method: type: string description: HTTP method to use on the link. description: Provides a link to the resource being acted on or that was created. When creating a resource, this link will only be available after the message is successfully synced ('status' is 'synced'). description: Links to related resources, collections, and actions. error: $ref: '#/components/schemas/Error_2' description: The message object is used to track an action that we want the Filer to perform. MessageResponse: type: object properties: message: $ref: '#/components/schemas/Message' ExportHostSpecField_2: type: string description: 'A comma-separated list of the hostnames, IP addresses with optional netmasks, or @-prefixed netgroup names allowed to access the export. If blank, all hosts on your network can access the export. Hostnames may contain the * character as a wildcard (Default when being set on an Export). ' default: '*' Link_2: type: object properties: href: type: string description: Hyperlink to the resource. readOnly: true method: type: string description: HTTP method to use on the link. readOnly: true AntivirusViolation_2: type: object properties: id: type: integer description: Antivirus violation identifier readOnly: true fpath: type: string description: The file path of the infected source file. readOnly: true vname: type: string description: The name of the virus. volume_uri: type: string description: The URI of the file, including the associated volume identifier. readOnly: true seqno: type: integer description: Sequence number of the violation. readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: Antivirus violation object Error_2: type: object properties: code: type: string description: 'Specifies the type of error reported. Possible values: * "error" - General error * "validation_error" - Validation error * "not_found_error" - Resource not found * "auth_error" - Authentication error * "perm_error" - Permission error * "sync_error" - Error occurred syncing settings with a Filer. * "unmanaged_error" - Resource is not managed. * "conflict_error" - Conflict error * "unsupported_error" - Current filer version does not support this type of request. * "throttled_error" - The request was throttled; too many sent within a duration. ' readOnly: true enum: - error - validation_error - not_found_error - auth_error - perm_error - sync_error - unmanaged_error - conflict_error - unsupported_error - throttled_error description: type: string description: Description of the error reported. readOnly: true FtpDirectory_2: type: object properties: id: type: integer description: FTP directory identifier. readOnly: true name: type: string description: Name of the FTP directory. readOnly: true path: type: string description: Path of the FTP directory. readOnly: true comment: type: string description: Any comments regarding the FTP directory. readOnly: true readonly: type: boolean description: If true, users cannot change the contents of the directory. readOnly: true visibility: type: string description: 'Controls what files and directories users can see. * "default" - Every file is visible to user, even if user does not have access permissions. * "hide" - Users only see files they have permission to access. * "invisible" - No files are visible to user. If user has filename and permission, user can access file.' readOnly: true enum: - default - hide - invisible allow_from: type: string description: 'Comma-separated list of IP addresses or subnet addresses of hosts allowed to access FTP directory. If blank, all hosts on your network have access. This feature cannot be used in conjunction with Users/Groups restrictions. ' readOnly: true allow_users: type: string description: The users that will be allowed to access the FTP directory. readOnly: true allow_groups: type: string description: The groups that will be allowed to access the FTP directory. readOnly: true anonymous: type: boolean description: If true, allow anonymous FTP access. readOnly: true anonymous_only: type: boolean description: 'If true, only the anonymous user will be granted access. This feature cannot be used in conjunction with IP address restrictions. ' readOnly: true umask: type: string description: 'Normally, newly created files and directories have read and write access for the owner, groups and other users. This option allows you to restrict read and write access for groups or others. * ''000'' - No Extra Restrictions (Default) * ''002'' - Read-Only Others * ''022'' - Read-Only Groups and Others * ''006'' - Restrict Others * ''066'' - Restrict Groups and Others * ''026'' - Read-Only Groups, Restrict Others ' readOnly: true enum: - '000' - '002' - '022' - '006' - '066' - '026' hide_ownership: type: boolean description: 'All directory listings will show owner and group information as "ftp", hiding the underlying owner and group. This may also be used to work around directory listing issues on some non-interactive clients. ' readOnly: true hidden_stores: type: boolean description: 'File uploads are done in two steps using a temporary file. This prevents issues with incomplete uploads and file use before upload is complete. This feature prevents resuming uploads. This is automatically enabled for anonymous uploads. ' readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_2' filer: $ref: '#/components/schemas/Link_2' volume: $ref: '#/components/schemas/Link_2' description: Links to related resources, collections, and actions. readOnly: true description: FTP directory object ExportAccessModeField_2: type: string description: 'Controls what User IDs are allowed when a client writes to the exported directory. Possible values: * ''root_squash'' - Normal Users Permitted - Default * ''no_root_squash'' - All Users Permitted * ''all_squash'' - Anonymize All Users ' default: root_squash enum: - root_squash - no_root_squash - all_squash GlobalLocking_2: type: object properties: path: type: string description: Path of the global locking settings. mode: type: string description: The desired mode of global locking. enum: - optimized - advanced - asynchronous filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Global locking object. NfsHostOption_2: type: object properties: id: type: integer description: Host option identifier readOnly: true readonly: $ref: '#/components/schemas/ExportReadOnlyField_3' hostspec: $ref: '#/components/schemas/ExportHostSpecField_3' access_mode: $ref: '#/components/schemas/ExportAccessModeField_3' perf_mode: $ref: '#/components/schemas/ExportPerfModeField_3' sec_options: $ref: '#/components/schemas/ExportSecOptionsField_3' links: type: object properties: self: $ref: '#/components/schemas/Link_3' export: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: An NFS Export Host Option object VolumeFilerSetting_3: type: object properties: guid: type: string description: Volume identifier. readOnly: true filer_serial_number: type: string description: Filer identifier. readOnly: true name: type: string description: Display name for the volume on the specified filer. readOnly: true type: type: string description: 'Type of Volume. Possible values: * ''master'' - This volume is owned by this filer. * ''remote'' - This volume is remote, relative to this filer. ' readOnly: true enum: - master - remote sync_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to perform syncs. allday: type: boolean description: If true, will sync all day. start: type: integer description: Hour of the day to start the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the sync. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that sync will run (minutes). auto_cache_allowed: type: boolean description: If true, auto cache will be enabled for the entire volume. When enabled, auto cache may be enabled at a folder level. auto_cache_min_file_size: type: integer description: Auto Cache Minimum File Size in bytes. When Auto Cache is enabled, only files greater than or equal to the specified size will be automatically brought into cache. description: Sync schedule readOnly: true snapshot_schedule: type: object properties: days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week to allow snapshots to occur. allday: type: boolean description: If true, will allow snapshots all day. start: type: integer description: Hour of the day to start allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop allowing snapshots. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency that snapshots will occur (minutes). description: Snapshot schedule readOnly: true snapshot_access: type: boolean description: If true, the snapshot directory is accessible. readOnly: true file_alerts_service: type: object properties: enabled: type: boolean description: If true, the file alert service is enabled. patterns: type: array description: File/Directory patterns. items: type: string description: Name pattern for files or directories. The wildcard character "*" is used to represent multiple possible characters. For example, "*.mp3" will cause an alert on all files with the mp3 extension. description: File Alert service configuration. readOnly: true auditing: type: object properties: enabled: type: boolean description: If true, file system auditing is enabled for the volume. collapse: type: boolean description: If true, sequential READ/WRITE events will be rolled up into a single event. If false, every event will be treated individually. output_type: type: string description: Where the audit events will be written and the format they will be in. enum: - csv - amqp - varonis destination: type: string description: The name of the audit destination to which amqp or varonis events are sent. events: type: object properties: create: type: boolean description: If true, will log file, directory, and link creation operations. delete: type: boolean description: If true, will log file and directory delete operations. rename: type: boolean description: If true, will log file and directory rename operations. close: type: boolean description: If true, will log file close operations. security: type: boolean description: If true, will log file and directory ownership and permission changes. metadata: type: boolean description: If true, will log changes to update time and extended attributes. write: type: boolean description: If true, will log file write and truncate operations. read: type: boolean description: If true, will log file and directory read operations. description: Various file system events that can be audited. logs: type: object properties: prune_audit_logs: type: boolean description: If true, audit logs older than the specified number of days will be deleted. The number of days can be specified by the 'days_to_keep' property. days_to_keep: type: integer description: Number of days to keep audit logs. A value of 0 will disable pruning of audit logs. exclude_by_default: type: boolean description: Do not audit operations for any path not matching an entry in the include list (see 'include_patterns'). include_takes_priority: type: boolean description: Operations on items matching an entry in the include list will always be included even if matching an entry in the exclude list (see 'exclude_patterns'). include_patterns: type: array description: List of path patterns to include in the audit logs. items: type: string description: Path to include in the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. exclude_patterns: type: array description: List of path patterns to exclude from the audit logs. items: type: string description: Path to exclude from the audit logs. The path can use the glob syntax to match a pattern such as */example*/*. user_blacklist: type: array description: A list of the users that should be excluded from auditing items: type: string description: Fully qualified names of the users to be excluded from auditing. For AD users this is 'DOMAIN\UserName', for filer local users it is 'UserName'. protocol_whitelist: type: array description: A list of the protocols that should not be reported on empty being all protocols items: type: string description: Names of the protocols to be in the list enum: - CIFS - NFS - FTP - ADMIN - RESERVED - UNKNOWN description: Audit log settings. syslog_export: type: boolean description: Enable the sending of audit messages to the specified Volumes to syslog. description: Volume auditing settings. status: type: object properties: accessible_data: type: integer description: Number of bytes of data that are accessible via this volume. data_not_yet_protected: type: integer description: Number of bytes of data that have not been protected. first_snapshot: type: string description: Datetime of the first snapshot that occurred on the volume. last_snapshot: type: string description: Datetime of the last snapshot that occurred on the volume. last_snapshot_start: type: - string - 'null' description: Datetime of the start of the last snapshot. last_snapshot_end: type: - string - 'null' description: Datetime of the end of the last snapshot. last_snapshot_version: type: - integer - 'null' description: The version number of the last snapshot that occurred. snapshot_status: type: string description: 'Current snapshot status. Possible values: * ''idle'' - No snapshots are in progress. * ''pending'' - A snapshot is pending and will be performed soon. * ''in_progress'' - A snapshot is in progress. ' enum: - idle - pending - in_progress snapshot_percent: type: integer description: If a snapshot is 'in_progress', this will show the percentage that it is complete. ftp_dir_count: type: integer description: Number of FTP directories accessible via this volume. export_count: type: integer description: Number of Exports accessible via this volume. share_count: type: integer description: Number of Shares accessible via this volume. description: Volume status for a particular Filer. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' shares: $ref: '#/components/schemas/Link_3' exports: $ref: '#/components/schemas/Link_3' ftp_directories: $ref: '#/components/schemas/Link_3' antivirus_violations: $ref: '#/components/schemas/Link_3' snapshots: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Filer specfic volume settings. VolumeUpdateRemoteAccessField: required: - access_permissions - enabled - filer_access type: object properties: enabled: type: boolean description: If true, remote access is enabled for the volume. access_permissions: type: string description: 'The remote access permission for this volume applies to all other Nasuni Filers on your account. A value of ''custom'' allows providing access permissions per Nasuni Filer (see ''filer_access'' property). ' enum: - readonly - readwrite - custom filer_access: type: array items: type: object properties: filer_guid: type: string description: Filer identifier permission: type: string description: Access permission for the Filer. enum: - disabled - readonly - readwrite description: Apply volume remote access permissions for an individual Filer. description: Volume remote access settings ExportPerfModeField_3: type: string description: 'Controls the method in which the NFS server replies to clients. Changing this may impact the safety of data if the Nasuni Filer is shut down abnormally! Possible values: * ''sync'' - Default * ''no_wdelay'' - No Write Delay * ''async'' - Asynchronous Replies ' default: sync enum: - sync - no_wdelay - async Volume_3: required: - filer_serial_number - name type: object properties: guid: type: string description: Volume identifier. readOnly: true filer_serial_number: type: string description: Identifier to the Filer the volume was created on. name: type: string description: The name of the volume. nmc_managed: type: boolean description: Indicates if the volume is fully managed by the NMC. readOnly: true protocols: required: - protocols type: object properties: permissions_policy: type: string description: 'Permission policy of the volume. Possible values: * ''NTFS60'' - NTFS Compatible Mode * ''NTFSONLY710'' - NTFS Exclusive Mode * ''NTFSMP'' - NTFS Multiprotocol Mode * ''POSIX60'' - POSIX Mixed Mode * ''MODEBITS60'' - UNIX/NFS Permissions Only Mode * ''PUBLICMODE60'' - Unauthenticated Access Mode ' enum: - NTFS60 - NTFSONLY710 - NTFSMP - POSIX60 - MODEBITS60 - PUBLICMODE60 protocols: type: array items: type: string description: Protocols enabled on the volume. enum: - CIFS - NFS - FTP description: Volume protocol settings. antivirus_service: type: object properties: enabled: type: boolean days: type: object properties: sun: type: boolean mon: type: boolean tue: type: boolean wed: type: boolean thu: type: boolean fri: type: boolean sat: type: boolean description: Days of the week the antivirus service will run. check_files_immediately: type: boolean description: If true, files will be checked as they are written (CIFS volumes only). allday: type: boolean description: If true, the antivirus service will run all day. start: type: integer description: Hour of the day to start the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. stop: type: integer description: Hour of the day to stop the antivirus service. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'. frequency: type: integer description: Frequency the service will run (minutes). description: Volume Antivirus Service settings remote_access: $ref: '#/components/schemas/VolumeUpdateRemoteAccessField' quota: $ref: '#/components/schemas/VolumeUpdateQuotaField' case_sensitive: type: boolean description: If true, the volume is case-sensitive. CIFS-only volumes perform better when volume is case-insensitive (value of false). readOnly: true snapshot_retention: type: object properties: retain: type: string description: 'Type of snapshot retention imposed. Possible values: * ''INFINITE'' - All snapshots * ''BY_COUNT'' - Set number of snapshots * ''BY_AGE'' - Snapshots within a range ' enum: - INFINITE - BY_COUNT - BY_AGE number: type: integer description: Number of snapshots to retain. years: type: integer description: Years to retain snapshots. months: type: integer description: Months to retain snapshots. days: type: integer description: Days to retain snapshots. description: Volume snapshot retention cloud_io: type: object properties: dedupe: type: boolean description: If true, deduplication is enabled. Deduplication is a data compression technique for eliminating duplicate copies of repeating data. compression: type: boolean description: If true, compression (via zlib) is enabled. chunk_size: type: integer description: Chunk size in bytes for cloud I/O. Value of zero means the default value will be used. description: Volume Cloud I/O settings. provider: required: - location - shortname type: object properties: cred_uuid: type: string description: Credential identifier. name: type: string description: Full name of the cloud provider. readOnly: true shortname: type: - string - 'null' description: Shortname (code) of the cloud provider. enum: - null - amazons3 - azure - cleversafe - hcp - ibmcos - vipr - googles3 location: type: - string - 'null' description: Location/region the volume was created in. storage_class: type: - string - 'null' description: Storage class the volume was created in (Google only). auth: required: - authenticated_access type: object properties: authenticated_access: type: boolean description: If true, the users must authenticate to access the volume. If false, the volume is publicly available to all users. policy: type: string description: Authentication policy. enum: - ads - ldapds - public policy_label: type: string description: Full name of the Authentication policy. root_handle: type: - string - 'null' description: The table of contents handle for the root of the volume for use with UniFS Exporter. Only appears if enabled by support. readOnly: true bucket: type: - string - 'null' description: If using BYOC, this is the bucket containing the volume. readOnly: true account_name: type: - string - 'null' description: If using Windows Azure Platform and BYOC, this is the storage account name associated with the volume. readOnly: true options: type: object properties: auto_provision_cred: type: boolean description: If using BYOC and not providing a provider cred_id, this will provision one. default: false create_new_key: type: boolean description: Create a new key to use for volume data. Beginning with the 9.3 release, you must set an escrow passphrase before generating new encryption keys or escrowing uploaded encryption keys with Nasuni. default: true key_name: type: string description: If creating a new key, the optional name to use for the key. Otherwise the name of the existing key to use. create_default_access_point: type: boolean description: After the volume is created, automatically create a CIFS share or NFS export. default: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' filer_settings: $ref: '#/components/schemas/Link_3' filer_connections: $ref: '#/components/schemas/Link_3' shares: $ref: '#/components/schemas/Link_3' exports: $ref: '#/components/schemas/Link_3' ftp_directories: $ref: '#/components/schemas/Link_3' antivirus_violations: $ref: '#/components/schemas/Link_3' folder_quotas: $ref: '#/components/schemas/Link_3' snapshots: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Representation of a Volume object. Paging_2: type: object properties: href: type: string description: A link to the requested endpoint. limit: type: integer description: The maximum number of items in a page. next: type: - string - 'null' description: A link to the next page of objects. The value will be null if there isn't one. offset: type: integer description: The item number the page starts on. previous: type: - string - 'null' description: A link to the previous page of objects. The value will be null if there isn't one. total: type: integer description: Total number of items available at the requested endpoint. description: The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object. ExportReadOnlyField_3: type: boolean description: If true, files and directories cannot be changed on the exported directory. Default is false. default: false FolderQuota_2: required: - limit - path - type type: object properties: id: type: string description: FolderQuota identifier readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true type: type: string description: The type of folder quota object enum: - rule - quota path: type: string description: Path of the folder quota. email: type: - string - 'null' description: Email associated with the folder quota. limit: minimum: 0 type: integer description: Usage limit of the folder quota in bytes. usage: type: - integer - 'null' description: Current usage of the folder quota in bytes. readOnly: true children: type: boolean description: Whether a rule applies to child folders. links: type: object properties: self: $ref: '#/components/schemas/Link_3' delete: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: FolderQuota object AutoCachedFolders_2: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the auto cache enabled folder. mode: type: string description: 'Specifies the auto caching mode to enable. * "metadata" - Enable auto cache only on metadata. * "metadata_and_data" - Enable auto cache metadata and data. ' default: metadata_and_data enum: - metadata - metadata_and_data links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' disable: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Auto Cache Folder object. PinnedFolders_2: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the pinned folder. mode: type: string description: 'Specifies the pinning mode to enable. * "metadata" - Enable pinning only on metadata. * "metadata_and_data" - Enable pinning on metadata and data. ' default: metadata_and_data enum: - metadata - metadata_and_data links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' disable: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Pinned Folder object. Share_3: required: - name - path type: object properties: id: type: integer description: Share identifier. readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true name: type: string description: The name of the CIFS share. path: type: string description: Path of the share. comment: type: string description: Any comments regarding the share. readonly: type: boolean description: If enabled, users can not change the contents of the share. default: false browseable: type: boolean description: If enabled, this share will appear when browsing. default: true hosts_allow: type: string description: Hosts allowed to access the share. IP addresses or IP address/netmask values separated by spaces. Blank allows all hosts default: '' hide_unreadable: type: boolean description: Files and folders that the user cannot access do not appear in folder listings. default: true enable_previous_vers: type: boolean description: Allow users to view and restore files using the Previous Versions tab in Windows default: false case_sensitive: type: boolean description: Files and folders are considered different if the case of letters in the name differs. (Enabling case sensitivity aids performance) default: false enable_snapshot_dirs: type: boolean description: Allows clients to access the hidden snapshot directories, showing previous versions of the file system (requires enabling Snapshot Directory Access for the volume). default: false homedir_support: type: integer description: 'When enabled, the target folder path for the share is automatically appended with a folder named for the user. Possible values: * 0 - Disable * 2 - Enable ' mobile: type: boolean description: Enable desktop and/or mobile device support default: false browser_access: type: boolean description: Enable web access default: false browser_access_settings: type: object properties: shared_links_enabled: type: boolean description: Allow creating shared links to Web Access. default: false link_force_password: type: boolean description: Require passwords for all shared links. default: true link_allow_rw: type: boolean description: Allow the user to create writable shared links to directories. default: false external_share_url: type: string description: External hostname for shared links. link_expire_limit: maximum: 999 minimum: 0 type: integer description: Maximum number of days until shared links expire. Set to 0 for unlimited. link_auth: type: object properties: authall: type: boolean description: 'When true, all users will be allowed to create shared links. When false, no user will have access to the shared links until a user, or a group the user is a member of, is specified. ' default: true allow_groups_ro: type: array description: Groups with read-only access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_groups_rw: type: array description: Groups with read-write access to shared links. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups denied access to shared links. items: $ref: '#/components/schemas/GroupNameField' allow_users_ro: type: array description: Users with read-only access to shared links. items: $ref: '#/components/schemas/UserNameField' allow_users_rw: type: array description: Users with read-write access to shared links. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users denied access to shared links. items: $ref: '#/components/schemas/UserNameField' description: Shared link authentication settings. description: Settings that can be applied to web access. aio_enabled: type: boolean description: Asynchronous I/O. Enable concurrent read/write access per client connection. default: true veto_files: type: string description: 'Block files. Specify file or directory name patterns that the share will make both invisible and inaccessible. Enter one pattern per line. The wildcard characters ''*'' and ''?'' may be used to specify multiple files or directories. The ''/'' character is not valid. Note: This feature can break compatibility with some clients. ' default: '' fruit_enabled: type: boolean description: Enhances share behavior, including SMB2 protocol support, for Mac OS X Clients when possible. default: false smb_encrypt: type: string description: Control if clients are desired or required to use SMB encryption when connecting to the share. Includes SMB3 encryption for Windows clients. Empty string indicates that client usage of encryption is optional. default: '' enum: - '' - desired - required agl_oplocks: type: boolean description: Enable Oplocks for Advanced Global Locking. This supports client read caching and can accelerate some applications. Only applies to 9.12+ Filers default: true auth: type: object properties: authall: type: boolean description: 'When true, all Users can authenticate. When false, only specific Groups and Users can authenticate. In this situation, no user will have access to the share until a user, or a group the user is a member of, is specified. ' default: true rw_groups: type: array description: Groups with read-write access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_groups: type: array description: Groups with read-only access to the share. items: $ref: '#/components/schemas/GroupNameField' deny_groups: type: array description: Groups to deny access to the share. items: $ref: '#/components/schemas/GroupNameField' ro_users: type: array description: Users with read-only access to the share. items: $ref: '#/components/schemas/UserNameField' rw_users: type: array description: Users with read-write access to the share. items: $ref: '#/components/schemas/UserNameField' deny_users: type: array description: Users to deny access to the share. items: $ref: '#/components/schemas/UserNameField' description: Share authentication settings. links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: CIFS Share ErrorResponse_2: type: object properties: error: $ref: '#/components/schemas/Error_3' PathData_2: type: object properties: filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true path: type: string description: Path of the file or folder readOnly: true is_dir: type: boolean description: If the path is to a folder readOnly: true cache_resident: type: - boolean - 'null' description: If the path resident in the filer's cache readOnly: true protected: type: boolean description: If the file or folder has been pushed to the cloud since its last edit readOnly: true owner: type: string description: The owner of the file or folder readOnly: true size: type: integer description: The size of the file in cache or the rolled-up size of the folder as of the last time it was pushed to the cloud readOnly: true pinning_enabled: type: boolean description: If this folder is pinned in cache readOnly: true pinning_mode: type: - string - 'null' description: 'Specifies the pinning mode to enable. * "disabled" - Pinning is disabled. * "metadata" - Pinning is enabled for metadata only. * "metadata_and_data" - Pinning is enabled for metadata and data. ' readOnly: true enum: - metadata - metadata_and_data - disabled - null pinning_inherited: type: boolean description: If this folder is inheriting pinning readOnly: true autocache_enabled: type: boolean description: If this folder has autocache enabled readOnly: true autocache_mode: type: - string - 'null' description: 'Specifies the auto cache mode to enable. * "disabled" - Auto cache is disabled. * "metadata" - Auto cache is enabled for metadata only. * "metadata_and_data" - Auto cache is enabled for metadata and data. ' readOnly: true enum: - null - metadata - metadata_and_data - disabled autocache_inherited: type: boolean description: If this folder is inheriting autocaching readOnly: true quota_enabled: type: boolean description: If this folder has a quota readOnly: true quota_type: type: - string - 'null' description: The type of folder quota if there is one readOnly: true enum: - rule - quota - null quota_email: type: - string - 'null' description: The email associated with the folder quota if there is one readOnly: true quota_usage: type: - integer - 'null' description: The amount used against the folder quota in bytes readOnly: true quota_limit: type: - integer - 'null' description: The folder quota limit if the setting is enabled readOnly: true quota_inherited: type: boolean description: If this folder is inheriting a quota rule readOnly: true global_locking_enabled: type: boolean description: If this folder has global locking enabled readOnly: true global_locking_inherited: type: boolean description: If this folder is inheriting global locking readOnly: true global_locking_mode: type: - string - 'null' description: The mode of global locking if it's enabled readOnly: true enum: - null - optimized - advanced - asynchronous updated: type: string description: The datetime when this metadata was last refreshed from the filer readOnly: true expires: type: string description: The datetime when this metadata expires and will need to be refreshed readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' refresh: $ref: '#/components/schemas/Link_3' cache: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Path information object Export_3: type: object properties: id: type: integer description: Export identifier readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true name: type: string description: Name of the export. path: type: string description: Path of the exported directory. Default is '/'. default: / comment: type: string description: Any comments regarding the export. readonly: $ref: '#/components/schemas/ExportReadOnlyField_3' hostspec: $ref: '#/components/schemas/ExportHostSpecField_3' access_mode: $ref: '#/components/schemas/ExportAccessModeField_3' perf_mode: $ref: '#/components/schemas/ExportPerfModeField_3' sec_options: $ref: '#/components/schemas/ExportSecOptionsField_3' nfs_host_options: type: array description: Additional host options for the Export. The items in this list can be created, read, updated, and deleted via the host option endpoints. readOnly: true items: $ref: '#/components/schemas/NfsHostOption_2' links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' nfs_host_options: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Export object ExportSecOptionsField_3: maxItems: 4 type: array description: Security options in use by the exported directory. Multiple options may be applied, but they cannot be repeated. items: type: string description: 'Possible values: * ''sys'' - Traditional - Default * ''krb5'' - Authentication * ''krb5i'' - Integrity Protection * ''krb5p'' - Privacy Protection ' enum: - sys - krb5 - krb5i - krb5p Message_2: type: object properties: id: type: string description: ID of the message. filer_serial_number: type: string description: Identifier to the Filer the message is associated with. description: type: string description: Description of the intent of message. code: type: string description: A code identifying the intent of the message. status: type: string description: 'Current status of the message. * ''synced'' - Message has been received by the Filer, and the Filer returned a success response. * ''pending'' - Message is currently in transit. * ''failure'' - Messages has been received by the Filer, but returned an error response.' enum: - synced - pending - failure send_time: type: string description: Time the message was sent. expiration_time: type: - string - 'null' description: Time a synced message will expire and be removed from the messages list. response_time: type: - string - 'null' description: Time a message response was received. initiated_by: type: string description: The username of the user who triggered the message, or '[console]' if triggered by the NMC itself. links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' acknowledge: $ref: '#/components/schemas/Link_3' applied_resource: type: object properties: href: type: string description: Hyperlink to the resource. method: type: string description: HTTP method to use on the link. description: Provides a link to the resource being acted on or that was created. When creating a resource, this link will only be available after the message is successfully synced ('status' is 'synced'). description: Links to related resources, collections, and actions. error: $ref: '#/components/schemas/Error_3' description: The message object is used to track an action that we want the Filer to perform. VolumeUpdateQuotaField: minimum: 0 type: integer description: Maximum volume capacity in gigabytes. Set to 0 for unlimited. Quotas are applied after each successful snapshot. VolumeUpdateQuota: required: - quota type: object properties: quota: $ref: '#/components/schemas/VolumeUpdateQuotaField' ExportHostSpecField_3: type: string description: 'A comma-separated list of the hostnames, IP addresses with optional netmasks, or @-prefixed netgroup names allowed to access the export. If blank, all hosts on your network can access the export. Hostnames may contain the * character as a wildcard (Default when being set on an Export). ' default: '*' AntivirusViolation_3: type: object properties: id: type: integer description: Antivirus violation identifier readOnly: true fpath: type: string description: The file path of the infected source file. readOnly: true vname: type: string description: The name of the virus. volume_uri: type: string description: The URI of the file, including the associated volume identifier. readOnly: true seqno: type: integer description: Sequence number of the violation. readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: Antivirus violation object Link_3: type: object properties: href: type: string description: Hyperlink to the resource. readOnly: true method: type: string description: HTTP method to use on the link. readOnly: true Error_3: type: object properties: code: type: string description: 'Specifies the type of error reported. Possible values: * "error" - General error * "validation_error" - Validation error * "not_found_error" - Resource not found * "auth_error" - Authentication error * "perm_error" - Permission error * "sync_error" - Error occurred syncing settings with a Filer. * "unmanaged_error" - Resource is not managed. * "conflict_error" - Conflict error * "unsupported_error" - Current filer version does not support this type of request. * "throttled_error" - The request was throttled; too many sent within a duration. ' readOnly: true enum: - error - validation_error - not_found_error - auth_error - perm_error - sync_error - unmanaged_error - conflict_error - unsupported_error - throttled_error description: type: string description: Description of the error reported. readOnly: true FtpDirectory_3: type: object properties: id: type: integer description: FTP directory identifier. readOnly: true name: type: string description: Name of the FTP directory. readOnly: true path: type: string description: Path of the FTP directory. readOnly: true comment: type: string description: Any comments regarding the FTP directory. readOnly: true readonly: type: boolean description: If true, users cannot change the contents of the directory. readOnly: true visibility: type: string description: 'Controls what files and directories users can see. * "default" - Every file is visible to user, even if user does not have access permissions. * "hide" - Users only see files they have permission to access. * "invisible" - No files are visible to user. If user has filename and permission, user can access file.' readOnly: true enum: - default - hide - invisible allow_from: type: string description: 'Comma-separated list of IP addresses or subnet addresses of hosts allowed to access FTP directory. If blank, all hosts on your network have access. This feature cannot be used in conjunction with Users/Groups restrictions. ' readOnly: true allow_users: type: string description: The users that will be allowed to access the FTP directory. readOnly: true allow_groups: type: string description: The groups that will be allowed to access the FTP directory. readOnly: true anonymous: type: boolean description: If true, allow anonymous FTP access. readOnly: true anonymous_only: type: boolean description: 'If true, only the anonymous user will be granted access. This feature cannot be used in conjunction with IP address restrictions. ' readOnly: true umask: type: string description: 'Normally, newly created files and directories have read and write access for the owner, groups and other users. This option allows you to restrict read and write access for groups or others. * ''000'' - No Extra Restrictions (Default) * ''002'' - Read-Only Others * ''022'' - Read-Only Groups and Others * ''006'' - Restrict Others * ''066'' - Restrict Groups and Others * ''026'' - Read-Only Groups, Restrict Others ' readOnly: true enum: - '000' - '002' - '022' - '006' - '066' - '026' hide_ownership: type: boolean description: 'All directory listings will show owner and group information as "ftp", hiding the underlying owner and group. This may also be used to work around directory listing issues on some non-interactive clients. ' readOnly: true hidden_stores: type: boolean description: 'File uploads are done in two steps using a temporary file. This prevents issues with incomplete uploads and file use before upload is complete. This feature prevents resuming uploads. This is automatically enabled for anonymous uploads. ' readOnly: true filer_serial_number: type: string description: Unique identifier for the associated filer. readOnly: true volume_guid: type: string description: Unique identifier for the associated volume. readOnly: true links: type: object properties: self: $ref: '#/components/schemas/Link_3' filer: $ref: '#/components/schemas/Link_3' volume: $ref: '#/components/schemas/Link_3' description: Links to related resources, collections, and actions. readOnly: true description: FTP directory object VolumeUpdateRemoteAccess: required: - remote_access type: object properties: remote_access: $ref: '#/components/schemas/VolumeUpdateRemoteAccessField' ExportAccessModeField_3: type: string description: 'Controls what User IDs are allowed when a client writes to the exported directory. Possible values: * ''root_squash'' - Normal Users Permitted - Default * ''no_root_squash'' - All Users Permitted * ''all_squash'' - Anonymize All Users ' default: root_squash enum: - root_squash - no_root_squash - all_squash TaskSummaryDto: properties: id: type: string format: uuid title: Id created_at: type: string format: date-time title: Created At resource: type: string title: Resource resource_id: anyOf: - type: string format: uuid - type: string - type: 'null' title: Resource Id action: type: string title: Action executor: $ref: '#/components/schemas/TaskExecutor' executor_id: anyOf: - type: string format: uuid - type: 'null' title: Executor Id initiated_by: $ref: '#/components/schemas/TaskInitiator' initiator_id: anyOf: - type: string format: uuid - type: 'null' title: Initiator Id activity_log_id: anyOf: - type: string format: uuid - type: 'null' title: Activity Log Id reason: anyOf: - type: string - type: 'null' title: Reason state: $ref: '#/components/schemas/TaskState' last_updated_at: type: string format: date-time title: Last Updated At user_acknowledged_at: anyOf: - type: string format: date-time - type: 'null' title: User Acknowledged At deletion_time: anyOf: - type: string format: date-time - type: 'null' title: Deletion Time type: object required: - id - created_at - resource - action - executor - initiated_by - state - last_updated_at title: TaskSummaryDto description: 'Customer-facing job view: the rolled-up task `state` plus an optional, curated task-level `reason`. Deliberately carries no `steps`. Internal step `reason`s — unstructured, engineering-facing strings (often raw exception detail) — stay in the backend and never ride on this DTO. The task-level `reason` is a separate, customer-safe contract: it''s surfaced only when a caller deliberately sets it on the task (it is not auto-promoted from a failed step), and is null otherwise. The deliberate partial-failure aggregation policy that decides *what* to put there remains deferred (see the PORTAL-2195 ledger, FU-3).' VolumeCapacityHistoryPointDto: properties: timestamp: type: string format: date-time title: Timestamp bytes_in_cloud: type: integer title: Bytes In Cloud type: object required: - timestamp - bytes_in_cloud title: VolumeCapacityHistoryPointDto VolumeBaseDto: properties: id: type: string title: Id description: anyOf: - type: string - type: 'null' title: Description remote_access_enabled: anyOf: - type: boolean - type: 'null' title: Remote Access Enabled provider: anyOf: - $ref: '#/components/schemas/NocCloudProvider' - type: 'null' type: object required: - id title: VolumeBaseDto VolumeCapacityHistoryResponseDto: properties: volume_id: type: string title: Volume Id data_points: items: $ref: '#/components/schemas/VolumeCapacityHistoryPointDto' type: array title: Data Points type: object required: - volume_id title: VolumeCapacityHistoryResponseDto VolumeEdgesDto: properties: master: $ref: '#/components/schemas/VolumeMasterDto' connected: items: type: string format: uuid type: array title: Connected connected_count: type: integer title: Connected Count type: object required: - master - connected_count title: VolumeEdgesDto ConnectionPermission: type: string enum: - READONLY - READWRITE - Custom title: ConnectionPermission ErrorResponse_3: properties: message: type: string title: Message detail: anyOf: - {} - type: 'null' title: Detail type: object required: - message - detail title: ErrorResponse VolumesResponseDto: properties: items: items: $ref: '#/components/schemas/VolumeBaseDto' type: array title: Items type: object title: VolumesResponseDto SecurityMode: type: string enum: - Publicly Available - Active Directory - LDAP Directory title: SecurityMode Protocol: type: string enum: - NFS - SMB - FTP title: Protocol ValidationErrorResponse: properties: message: type: string title: Message detail: items: additionalProperties: true type: object type: array title: Detail example: - ctx: error: 'invalid length: expected length 32 for simple format, found 3' input: '123' loc: - path - id msg: 'Input should be a valid UUID, invalid length: expected length 32 for simple format, found 3' type: uuid_parsing type: object required: - message - detail title: ValidationErrorResponse TaskState: type: string enum: - in_progress - completed - failed title: TaskState VolumeDetailsDto: properties: volume_id: type: string title: Volume Id volume_name: anyOf: - type: string - type: 'null' title: Volume Name edges: anyOf: - $ref: '#/components/schemas/VolumeEdgesDto' - type: 'null' cloud_region: anyOf: - type: string - type: 'null' title: Cloud Region used_capacity: anyOf: - type: string - type: 'null' title: Used Capacity percent_capacity_used: anyOf: - type: integer - type: 'null' title: Percent Capacity Used compression_percent: anyOf: - type: integer - type: 'null' title: Compression Percent protocol: items: $ref: '#/components/schemas/Protocol' type: array title: Protocol remote_access_enabled: anyOf: - type: boolean - type: 'null' title: Remote Access Enabled cloud_provider: anyOf: - $ref: '#/components/schemas/NocCloudProvider' - type: 'null' bucket: anyOf: - type: string - type: 'null' title: Bucket permission_policy: anyOf: - $ref: '#/components/schemas/PermissionPolicy' - type: 'null' security_mode: anyOf: - $ref: '#/components/schemas/SecurityMode' - type: 'null' case_sensitive: anyOf: - type: boolean - type: 'null' title: Case Sensitive connection_permission: anyOf: - $ref: '#/components/schemas/ConnectionPermission' - type: 'null' antiransom_enabled: anyOf: - type: boolean - type: 'null' title: Antiransom Enabled antivirus_enabled: anyOf: - type: boolean - type: 'null' title: Antivirus Enabled safe_delete_enabled: anyOf: - type: boolean - type: 'null' title: Safe Delete Enabled audit_enabled: anyOf: - type: boolean - type: 'null' title: Audit Enabled audit_output_type: anyOf: - type: string - type: 'null' title: Audit Output Type snapshot_retention: anyOf: - type: string - type: 'null' title: Snapshot Retention encryption_keys: items: type: string type: array title: Encryption Keys chunk_size: anyOf: - type: integer - type: 'null' title: Chunk Size compression: anyOf: - type: boolean - type: 'null' title: Compression dedupe: anyOf: - type: boolean - type: 'null' title: Dedupe volume_version: anyOf: - type: string - type: 'null' title: Volume Version cloud_credential_name: anyOf: - type: string - type: 'null' title: Cloud Credential Name cloud_credential_hostname: anyOf: - type: string - type: 'null' title: Cloud Credential Hostname cloud_credential_note: anyOf: - type: string - type: 'null' title: Cloud Credential Note type: object required: - volume_id title: VolumeDetailsDto description: 'Enriched volume response — volume-scoped fields only. Display fields below are pre-formatted server-side (``protocol``, ``permission_policy``, ``security_mode``, ``snapshot_retention``) so direct WebAPI consumers see UI-ready values instead of raw filer enums/bitmasks. The flat ``VolumeDto`` (``GET /volumes/{id}``) intentionally keeps the raw forms for backward compatibility. Per-edge state is **not** on this DTO. Callers needing per-mount data (share/export counts, per-edge schedules, per-edge dirty bytes, …) call ``GET /volume_connections?volume_id=`` — the resource split keeps the API resource-oriented and lets external consumers compose their own views without a UI-shaped "details+connections" fusion endpoint.' SnapshotStatus: type: string enum: - idle - pending - in_progress - succeeded - failed - cancelling - cancelled - cancel_rejected - up_to_date title: SnapshotStatus description: 'Public snapshot lifecycle vocabulary surfaced by the snapshot APIs. The persisted column (``VolumeEdgeState.current_snapshot_status``) has a single writer: the EventHub ``VolumeSnapshotStatusProcessor``, which translates filer ``volume_snapshot_status`` events. No other code path — API request handlers, heartbeat upserts, background services — writes to that column. ``cancelling`` never reaches the DB: it exists as a FE-optimistic wire value only (clients render it between the cancel dispatch and the filer''s ``cancelled`` / ``cancel_rejected`` ack). ``pending`` is a real filer-reported state.' NocCloudProvider: type: string enum: - amazons3 - amazons3gov - azure - google - googles3 - atmos - ironmountain - rackspace - nirvanix - synaptic - castor - delldx - cloudone - hp - cleversafe - vipr - ibmcos - hcp - s3_compatible title: NocCloudProvider description: Cloud provider identity as used by NOC (shortname). SnapshotStatusResponseDto: properties: volume_id: type: string title: Volume Id edge_id: type: string format: uuid title: Edge Id current_snapshot_status: $ref: '#/components/schemas/SnapshotStatus' default: idle type: object required: - volume_id - edge_id title: SnapshotStatusResponseDto description: 'Per-edge snapshot status — ``VolumeEdgeState.current_snapshot_status`` for a single ``(volume_id, edge_id)``. Defaults to ``idle`` when no state row exists (no UI difference).' TaskInitiator: type: string enum: - portal - edge title: TaskInitiator VolumeMasterDto: properties: id: type: string format: uuid title: Id description: anyOf: - type: string - type: 'null' title: Description type: object required: - id title: VolumeMasterDto PermissionPolicy: type: string enum: - POSIX Mixed Mode - UNIX/NFS Permissions Only Mode - Unauthenticated Access Mode - NTFS Compatible Mode - NTFS Exclusive Mode - NTFS Multiprotocol Mode title: PermissionPolicy TaskExecutor: type: string enum: - edge title: TaskExecutor VolumeDto: properties: id: type: string title: Id description: anyOf: - type: string - type: 'null' title: Description remote_access_enabled: anyOf: - type: boolean - type: 'null' title: Remote Access Enabled provider: anyOf: - $ref: '#/components/schemas/NocCloudProvider' - type: 'null' edges: anyOf: - $ref: '#/components/schemas/VolumeEdgesDto' - type: 'null' location: anyOf: - type: string - type: 'null' title: Location gfl: type: boolean title: Gfl lock_server: type: string title: Lock Server used_capacity: anyOf: - type: string - type: 'null' title: Used Capacity percent_capacity_used: anyOf: - type: integer - type: 'null' title: Percent Capacity Used compression_data_reduction_percent: anyOf: - type: integer - type: 'null' title: Compression Data Reduction Percent share_features: anyOf: - type: string - type: 'null' title: Share Features gfa_mode: type: boolean title: Gfa Mode type: object required: - id - gfl - lock_server - gfa_mode title: VolumeDto securitySchemes: AuthToken: type: apiKey description: 'This header is required to make authenticated requests. The value format is: Token [your_auth_token] ' name: Authorization in: header ServiceKeyHeader: type: apiKey in: header name: x-service-key description: Service key for programmatic API access. Must be used together with x-service-secret. ServiceSecretHeader: type: apiKey in: header name: x-service-secret description: Service secret for programmatic API access. Must be used together with x-service-key. UserKeyHeader: type: apiKey in: header name: x-user-key description: User key for user-specific API access. HTTPBearer: type: http scheme: bearer bearerFormat: JWT description: Bearer token obtained from /auth/token endpoint. OAuth2ClientCredentials: type: oauth2 description: Standard OAuth2 Client Credentials flow (RFC 6749 §4.4). Send `client_id` (service key) and `client_secret` (service secret) as form-encoded body parameters to the token endpoint. flows: clientCredentials: tokenUrl: /auth/token scopes: {} x-refined-from: - nasuni-nmc-v1-0-openapi.yml - nasuni-nmc-v1-1-openapi.yml - nasuni-nmc-v1-2-openapi.yml - nasuni-portal-v0-openapi.yml