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