{
"id": long,
"name": string,
"server": LongIdLinkPair Resource,
"relative_path": string,
"home_dir": boolean,
"inherit_sync_schedule": boolean,
"sync_schedule": Schedule Resource,
"assigned_rights": [
AssignedRight Resource
],
"inherit_index_context": boolean,
"index_content": boolean,
"inherit_jits_settings": boolean,
"jits_enabled": boolean,
"jits_max_age": long,
"jits_max_acl_age": long,
"inherit_client_sync_settings": boolean,
"allow_desktop_sync": boolean,
"allow_client_initiated_sync": boolean
}
{
"status": string ("ready", "taken", "started", "stopped", "finished", "aborted", "canceled", or "deleting"),
"node_ip_address": string,
"start_date": dateTime,
"end_date": dateTime,
"directory_only": boolean,
"directory_enumeration_failure": boolean,
"files_found": integer,
"files_added": integer,
"files_expunged": integer,
"files_modified": integer,
"files_with_modified_acl": integer,
"files_with_modified_owner: integer,
"folder_found": integer,
"folders_added": integer,
"folders_expunged": integer,
"folders_with_modified_acl": integer,
"folders_with_modified_owner": integer,
"entries_expunged": integer,
"failures": integer,
"folders_processed": integer
}
To list all net folders (including home folders), use the “net_folders” link from the root admin resource:
[Request]
> curl –k –u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders
[Response]
{
"first":0,
"count":2,
"total":2",
"items":[{
"id":99,
"name":"Home",
"href":"/admin/net_folders/99",
"server":{
"id":1,
"href":"/admin/net_folder_servers/1"
},
"relative_path":"dlewis",
"home_dir":true,
"links":[{
"rel":"sync",
"href":"/admin/net_folders/99/sync"
}],
"inherit_client_sync_settings": true,
"inherit_index_content": true,
"inherit_jits_settings": true,
"inherit_sync_schedule": true,
"index_content": false,
"jits_enabled": true,
"jits_max_age": 60000,
"jits_max_acl_age": 3600000,
"allow_client_initiated_sync": false,
"allow_desktop_sync": true,
},{
...
}]
}
To list only home folders, include the "type=home" query parameter:
[Request]
> curl –k –u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders?type=home
To exclude home folders from the results, add the "type=net" query parameter:
[Request]
> curl –k –u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders?type=net
To list net folders associated with a particular net folder server, use the “net_folders” related link from the individual net folder server object (href: "/net_folder_servers/{id}/net_folders"):
[Request]
> curl –k –u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folder_servers/1/net_folders
[Response similar to previous response]
Some attributes of net folders (assigned rights and sync schedule) require additional database lookups, so they are not returned by default. To return this information in the listings, add the “include_full_details=true” query parameter:
[Request]
> curl –k –u admin:novell \
https://amethyst.wal.novell.com:8443/rest/admin/net_folders?include_full_details=true
[Alternate Request]
> curl -k -u admin:novell \
https://amethyst.wal.novell.com:8443/rest/admin/net_folder_servers/1/net_folders?include_full_details=true
[Response]
{
"first":0,
"count":2,
"total":2",
"items":[{
"id":99,
"name":"Home",
"href":"/admin/net_folders/99",
"server":{
"id":1,
"href":"/admin/net_folder_servers/1"
},
"relative_path":"dlewis",
"home_dir":true,
"links":[{
"rel":"sync",
"href":"/admin/net_folders/99/sync"
}],
"inherit_client_sync_settings": true,
"inherit_index_content": true,
"inherit_jits_settings": true,
"inherit_sync_schedule": true,
"index_content": false,
"jits_enabled": true,
"jits_max_age": 60000,
"jits_max_acl_age": 3600000,
"allow_client_initiated_sync": false,
"allow_desktop_sync": true,
"assigned_rights":[{
"access":{
"role":"ACCESS",
"sharing":{
"internal":true,
"external":false,
"public":false,
"public_link":false,
"grant_reshare":true
}
},
"principal":{
"id":116,
"type":"group",
"href":"/groups/116"
}
}],
"sync_schedule":{
"enabled":true,
"when":"daily",
"at":{
"hour":0,
"minute":0
}
}
},{
...
}]
}
You can create a new folder by POSTing a net folder object to either of the net_folders resources:
[Request]
> curl -k -u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folder_servers/5/net_folders \
-X POST -H "Content-Type: application/json" -d '{"name":"testing5","relative_path":"testing"}'
[Alternate Request]
> curl -k -u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders -X POST \
-H "Content-Type: application/json" -d '{"name":"testing6","server":{"id":5},"relative_path":"testing"}'
[Response]
{
... (Full net folder object)
}
Notice that the net folder server (id: 5) must be specified in either the request URL or the POST body.
To modify an existing net folder, PUT a net folder object to the individual net folder server resource. Only the net folder attributes that are included in the request body are updated.
[Request]
> curl -k -u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders/1 \
-X PUT -H "Content-Type: application/json" \
-d '{"sync_schedule":{"enabled":true,"when":"daily","at":{"hour":1}}}'
[Response]
{
... (Full net folder object)
}
[Request]
> curl -k -u admin:novell https://amethyst.wal.novell.com:8443/rest/admin/net_folders/99 -X DELETE
[Empty Response]
To get the sync status for a net folder, use the “sync” related link from the net folder object:
[Request]
> curl -u admin:novell -k https://amethyst.wal.novell.com:8443/rest/admin/net_folders/99/sync
[Response]
{
"status":"finished",
"failures":0,
"node_ip_address":"164.99.211.53",
"start_date":"2014-10-22T00:00:00Z",
"end_date":"2014-10-22T00:00:05Z",
"directory_only":false,
"directory_enumeration_failure":false,
"files_found":54,
"files_added":0,
"files_expunged":0,
"files_modified":0,
"files_with_modified_acl":0,
"files_with_modified_owner":0,
"folders_found":10,
"folders_added":0,
"folders_expunged":0,
"folders_with_modified_acl":0,
"folders_with_modified_owner":0,
"entries_expunged":0,
"folders_processed":11
}
Status is one of “none”, ”ready”, ”taken”, ”started”, ”stopped”, ”finished”, “aborted”, “canceled”, or “deleting”. Of those, “none, “ready”, “started” and “finished” are the most common.
To cause Filr to synchronize a net folder, POST to the net folder’s “sync” link:
[Request]
> curl -u admin:novell -k https://amethyst.wal.novell.com:8443/rest/admin/net_folders/99/sync -X POST
[Response]
{
... (Same as above)
}
You can stop an in-progress sync by sending a DELETE request to the sync link:
[Request]
> curl -u admin:novell -k https://amethyst.wal.novell.com:8443/rest/admin/net_folders/99/sync -X DELETE
[Response]
{
... (Same as above)
}