Skip to main content

REST endpoints: File systems, shares, and mappings

These endpoints mirror the CLI commands described in File systems, Mappings, Shares. Each endpoint runs the CLI command named under its heading, so the behavior, defaults, and restrictions are the same; this page lists how to call it over REST.

Conventions that apply to every endpoint (request format, the async and outputType parameters, and the response envelope) are in Requests and responses. In the tables below, Required is Yes when the parameter must always be supplied, No when it is optional, and Depends when it is required only in some combinations (for example, either an application and volume, or a consistency group ID); the CLI chapter for the same command explains the combinations.

POST /applications/filesystems/add

Create a file system on a volume (required for NAS/Object).

CLI command: applications filesystems add

Body fields (JSON)

Name Type Required Description
Application string Yes The name of the application.
Volumes array of string No The volumes to create a file system on.
Profile string No The file-system profile: Journal or Ordered (default: Ordered).
AddContinuousReplicationMetadata boolean No Add replication metadata to the file system, so starting replication later will not be disruptive.
EnableSnapone boolean No Enable SnapONE on this file system.
EnableQuotaSupport boolean No Enable quota support for this file system.
Force boolean No Skip the confirmation prompt.

PUT /applications/filesystems/edit

Edit a volume's file-system settings.

CLI command: applications filesystems edit

Query parameters

Name Type Required Description
application string Yes The name of the application.
volume string Yes The volume to edit.

Body fields (JSON)

Name Type Required Description
AddContinuousReplicationMetadata boolean No Add replication metadata to the file system, so starting replication later will not be disruptive. In REST one field covers a pair of CLI flags: true applies --addContinuousReplicationMetadata, false applies --removeContinuousReplicationMetadata, and omitting the field applies neither.
EnableSnapone boolean No Enable SnapONE on this file system. In REST one field covers a pair of CLI flags: true applies --enableSnapone, false applies --disableSnapone, and omitting the field applies neither.
Force boolean No Skip the confirmation prompt.

POST /applications/filesystems/fstrim/run

Run fstrim on a file-system volume.

CLI command: applications filesystems fstrim run

Body fields (JSON)

Name Type Required Description
Application string Yes The application the volume belongs to.
Volume string Yes The volume to run fstrim on (must have a file system).

GET /applications/filesystems/fstrim/status

Show fstrim status for file-system volumes.

CLI command: applications filesystems fstrim status

Query parameters

Name Type Required Description
application string No Filter by application name.
volume string No Filter by volume name.

Response: a list of VolumeFstrimStatus objects in Result.VolumeFstrimStatus, each with: Application (string), Volume (string), IsFstrimRunning (boolean).

GET /applications/filesystems/list

List file-system assignments.

CLI command: applications filesystems list

Query parameters

Name Type Required Description
application string No Filter by application name.
volume string No Filter by volume name.

Response: a list of ApplicationElement objects in Result.Applications, each with: Application (string), Template (string), Description (string), Volumes (array of VolumeElement), ConsistencyGroups (array of ConsistencyGroupElement), Vms (array of VmElement), InitializeForTesting (boolean), Force (boolean).

PUT /applications/filesystems/mount

Mount unmounted file systems.

CLI command: applications filesystems mount

Body fields (JSON)

Name Type Required Description
Application string No Filter by application name.
Volume string No Filter by volume name.

POST /applications/mappings/add

Add mapping between a volume and an iSCSI/FC/NVMeOF host.

CLI command: applications mappings add

Body fields (JSON)

Name Type Required Description
Application string Yes The name of the application.
Hosts array of string Yes The names of the hosts to map the volumes to.
Volumes array of string No The names of the volumes to map. If not specified, all volumes within the application are mapped.
LunIds array of string No The LUN ID for each volume. Use * to assign an available LUN ID.

DELETE /applications/mappings/delete

Delete mapping.

CLI command: applications mappings delete

Query parameters

Name Type Required Description
application string Yes The name of the application.
hosts array of string No The names of the hosts to unmap. If not specified, all mapped hosts are unmapped.
volumes array of string No The names of the volumes to unmap. If not specified, all volumes within the application are unmapped.
force boolean No Skip the confirmation prompt.

PUT /applications/mappings/edit

Add/Remove mapping between a volume and an iSCSI/FC/NVMeOF host.

CLI command: applications mappings edit

Query parameters

Name Type Required Description
application string Yes The name of the application.
volume string Yes The name of the volume to map the hosts to.

Body fields (JSON)

Name Type Required Description
Hosts array of string No The names of the hosts to map the volume to.
LunIds array of string No The LUN ID for each host. Use * to assign an available LUN ID.

GET /applications/mappings/list

List mappings, grouped by volume.

CLI command: applications mappings list

Query parameters

Name Type Required Description
application string No Filter by application name.
volume string No Filter by volume name.

Response: a list of MappingElementVolumePerspective objects in Result.MappingElementVolumePerspective, each with: Application (string), Volume (string), Hosts (array of string), LunIds (array of string).

POST /applications/shares/add

Create an SMB or NFS share inside a volume.

CLI command: applications shares add

Body fields (JSON)

Name Type Required Description
Application string Yes The name of the application the share will be created in.
Volume string Yes The name of the volume on which the share will be created.
Share string Yes The name that will be given to the share.
Smb boolean Depends Choose SMB protocol for the share.
Nfs boolean Depends Choose NFS protocol for the share.
Browsable boolean No Relevant only for SMB. This allows clients to browse the share.
NfsKerberosAuthenticationBasedOnServerSettings boolean Depends Kerberos authentication is the same as the server settings.
NfsKerberosAuthenticationOptional boolean Depends Kerberos authentication and encryption are optional, and based on the client mount settings.
NfsKerberosAuthenticationRequired boolean Depends Kerberos authentication is required.
NfsKerberosAuthenticationAndEncryptionRequired boolean Depends Kerberos authentication and encryption are required.
Path string No A path inside the volume to which the share will redirect to. If you choose not to input a value, the share will redirect to the root folder inside the volume.
AllowedSubnets array of string No Allows only specific IP subnets to access the share. The format to input the subnets is: ip/mask. For example, inputting 192.168.0.0/255.255.0.0 192.169.0.0/255.255.0.0 will allow only IPs 192.168.x.x and 192.169.x.x to access the share. Input '*' to provide access to all IPs or do not input a value at all.
RecycleBin boolean No Support recycle bin.
ReadonlyAccess boolean No Allows read-only access to the share.
QuotaCapacityInBytes integer No Capacity size quota for this share (0 removes the quota). Specified in bytes.
Force boolean No Not currently used by this command.

DELETE /applications/shares/delete

Delete a share.

CLI command: applications shares delete

Query parameters

Name Type Required Description
application string Yes The name of the application instance the share resides in.
volume string Yes The name of the volume the share resides in.
shares array of string Yes The names of the shares to delete.
force boolean No Skip the confirmation prompt.

PUT /applications/shares/edit

Edit an SMB or NFS share.

CLI command: applications shares edit

Query parameters

Name Type Required Description
application string Yes The name of the application the share resides in.
volume string Yes The name of the volume the share resides in.
share string Yes The share you would like to edit.

Body fields (JSON)

Name Type Required Description
Share string Yes The share you would like to edit.
Smb boolean No Choose SMB protocol for the share.
Nfs boolean No Choose NFS protocol for the share.
Browsable boolean No Relevant only for SMB. This selection allows clients to browse the share. In REST one field covers a pair of CLI flags: true applies --browsable, false applies --notBrowsable, and omitting the field applies neither.
NfsKerberosAuthenticationBasedOnServerSettings boolean No Kerberos authentication is the same as the server settings.
NfsKerberosAuthenticationOptional boolean No Kerberos authentication and encryption are optional, and based on the client mount settings.
NfsKerberosAuthenticationRequired boolean No Kerberos authentication is required.
NfsKerberosAuthenticationAndEncryptionRequired boolean No Kerberos authentication and encryption are required.
Path string No A path inside the volume to which the share will redirect to. If you choose not to input a value, the share will redirect to the root folder inside the volume.
AllowedSubnets array of string No Allows only specific IP subnets to access the share. The format to input the subnets is: ip/mask. For example, inputting 192.168.0.0/255.255.0.0 192.169.0.0/255.255.0.0 will allow only IPs 192.168.x.x and 192.169.x.x to access the share. Input '*' to provide access to all IPs or do not input a value at all.
ReadonlyAccess boolean No Set read-only access to the share. In REST one field covers a pair of CLI flags: true applies --readonlyAccess, false applies --readwriteAccess, and omitting the field applies neither.
RecycleBin boolean No Enable recycle bin. In REST one field covers a pair of CLI flags: true applies --recycleBin, false applies --noRecycleBin, and omitting the field applies neither.
DisableQuota boolean No Disable size quota for this share.
QuotaCapacityInBytes integer No Capacity size quota for this share. 0 removes the quota. Specified in bytes.
Force boolean No Not currently used by this command.

GET /applications/shares/list

List shares.

CLI command: applications shares list

Query parameters

Name Type Required Description
application string No Filter by application name.
volume string No Filter by volume name.

Response: a list of ShareElement objects in Result.Shares, each with: Application (string), Volume (string), Share (string), Path (string), QuotaCapacityInBytes (integer), Browsable (boolean), RecycleBin (boolean), ReadonlyAccess (boolean), AllowedSubnets (array of string), Smb (boolean), Nfs (boolean), MigrationPairing (string), NfsKerberosAuthenticationBasedOnServerSettings (boolean), NfsKerberosAuthenticationOptional (boolean), NfsKerberosAuthenticationRequired (boolean), NfsKerberosAuthenticationAndEncryptionRequired (boolean), Force (boolean), DisableQuota (boolean).


See also: Requests and responses - Authentication - Examples