Gateway Share¶
List NFS Shares¶
Lists all NFS shares.
-
GET
/api/v1/gateway_shares/?protocol=nfs
¶ Query Parameters: - cluster -- Filter by cluster.
- protocol -- Filter by protocol (nfs or cifs).
- name -- Filter by share name.
- enabled -- Filter by state.
Status: Status: Status:
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/?protocol=nfs -H 'Authorization: apikey <user>:<api_key>'
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | {
"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 2},
"objects": [
{
"access_mode": "rw",
"enabled": true,
"id": 14,
"name": "projects",
"node": "/api/v1/nodes/20/",
"protocol": "nfs",
"resource_uri": "/api/v1/gateway_shares/14/",
"root_squash": true,
"secure": true,
"swift_container": "projects",
"upload_delay": 10,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
},
{
"access_mode": "ro",
"enabled": false,
"id": 15,
"name": "forms",
"node": "/api/v1/nodes/20/",
"protocol": "nfs",
"resource_uri": "/api/v1/gateway_shares/15/",
"root_squash": false,
"secure": false,
"swift_container": "forms",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
}
]
}
|
List CIFS Shares¶
Lists all CIFS shares.
-
GET
/api/v1/gateway_shares/?protocol=cifs
¶ Query Parameters: - cluster -- Filter by cluster.
- protocol -- Filter by protocol (nfs or cifs).
- name -- Filter by share name.
- enabled -- Filter by state.
Status: Status: Status:
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/?protocol=cifs -H 'Authorization: apikey <user>:<api_key>'
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | {
"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 2},
"objects": [
{
"access_mode": "rw",
"cifs_browseable": true,
"cifs_create_mask": "0664",
"cifs_directory_mask": "0775",
"cifs_guest_ok": true,
"cifs_valid_users": "",
"cifs_valid_groups": "",
"enabled": true,
"id": 18,
"name": "1403566832.535749",
"node": "/api/v1/nodes/22/",
"protocol": "cifs",
"resource_uri": "/api/v1/gateway_shares/18/",
"swift_container": "1403566832.535749",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
},
{
"access_mode": "ro",
"cifs_browseable": true,
"cifs_create_mask": "0664",
"cifs_directory_mask": "0775",
"cifs_guest_ok": true,
"cifs_valid_users": "",
"cifs_valid_groups": "",
"enabled": true,
"id": 19,
"name": "forms",
"node": "/api/v1/nodes/22/",
"protocol": "cifs",
"resource_uri": "/api/v1/gateway_shares/19/",
"swift_container": "forms",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
}
]
}
|
Create NFS Share¶
Settings which do not match the current protocol will be ignored.
-
POST
/api/v1/gateway_shares/
¶ Form Parameters: - name -- share name (required)
- node -- The API uri of the gateway node to which the share should be added (required)
- swift_container -- Name of swift container to map to (required)
- protocol -- nfs (default) or cifs
- access_mode -- rw (default) or ro
- enabled -- True or False (default)
- root_squash -- True or False (default)
- secure -- True or False (default)
- upload_delay -- Delay in seconds before writing file to swift (default 0)
- write_retain -- True (default) or False
- no_apple_doubles -- True (default) or False
- clients_allowed_list -- IPv4 address or subnet, domain name or suffix, @<netgroup name>
Status: Status: Status:
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/?format=json -H 'Authorization: apikey <user>:<api_key>' -H 'content-type: application/json' -d '{"node": "/api/v1/nodes/<node_id>/", "name": "projects", "protocol": "nfs", "swift_container": "projects"}' -X POST
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | {
"access_mode": "ro",
"enabled": false,
"id": 15,
"name": "forms",
"node": "/api/v1/nodes/20/",
"protocol": "nfs",
"resource_uri": "/api/v1/gateway_shares/15/",
"root_squash": false,
"secure": false,
"swift_container": "forms",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": ""
}
|
Create CIFS Share¶
Settings which do not match the current protocol will be ignored.
-
POST
/api/v1/gateway_shares/
¶ Form Parameters: - name -- share name (required)
- node -- The API uri of the gateway node to which the share should be added (required)
- swift_container -- Name of swift container to map to (required)
- protocol -- nfs (default) or cifs
- access_mode -- rw (default) or ro
- enabled -- True or False (default)
- cifs_create_mask -- mode for files (default 0664)
- cifs_directory_mask -- mode for directories (default 0775)
- cifs_guest_ok -- True (default) or False
- cifs_valid_users -- list of allowed users
- cifs_valid_groups -- list of allowed groups
- cifs_browseable -- True (default) or False
- upload_delay -- Delay in seconds before writing file to swift (default 0)
- write_retain -- True (default) or False
- no_apple_doubles -- True (default) or False
- clients_allowed_list -- IPv4 address or subnet, domain name or suffix, @<netgroup name>
Status: Status: Status:
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/?format=json -H 'Authorization: apikey <user>:<api_key>' -H 'content-type: application/json' -d '{"node": "/api/v1/nodes/<node_id>/", "name": "forms", "protocol": "cifs", "swift_container": "forms"}' -X POST
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | {
"access_mode": "rw",
"cifs_browseable": true,
"cifs_create_mask": "0664",
"cifs_directory_mask": "0775",
"cifs_guest_ok": true,
"cifs_valid_users": "",
"cifs_valid_groups": "",
"enabled": true,
"id": 18,
"name": "1403566832.535749",
"node": "/api/v1/nodes/22/",
"protocol": "cifs",
"resource_uri": "/api/v1/gateway_shares/18/",
"swift_container": "1403566832.535749",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
}
|
View Share Details¶
Display information about a share.
-
GET
/api/v1/gateway_shares/<share_id>/
¶ Status: 200 OK Status: 400 Bad Request Status: 404 Not Found
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/<share_id>/ -H 'Authorization: apikey <user>:<api_key>'
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | {
"access_mode": "rw",
"cifs_browseable": true,
"cifs_create_mask": "0664",
"cifs_directory_mask": "0775",
"cifs_guest_ok": true,
"cifs_valid_users": "",
"cifs_valid_groups": "",
"enabled": true,
"id": 18,
"name": "1403566832.535749",
"node": "/api/v1/nodes/22/",
"protocol": "cifs",
"resource_uri": "/api/v1/gateway_shares/18/",
"swift_container": "1403566832.535749",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
}
|
Note
The GET response will not include the password.
Change Share Details¶
Change the settings for a share. Settings which do not match the current protocol will be ignored.
-
PATCH
/api/v1/gateway_shares/<share_id>/
¶ Form Parameters: - name -- share name (required)
- node -- The API uri of the gateway node to which the share should be added (required)
- swift_container -- Name of swift container to map to (required)
- protocol -- nfs (default) or cifs
- access_mode -- rw (default) or ro
- enabled -- True or False (default)
- cifs_create_mask -- mode for files (default 0664)
- cifs_directory_mask -- mode for directories (default 0775)
- cifs_guest_ok -- True (default) or False
- cifs_valid_users -- list of allowed users
- cifs_valid_groups -- list of allowed groups
- cifs_browseable -- True (default) or False
- cluster -- The API uri of the cluster the gateway node belongs to (optional)
- root_squash -- True or False (default) (nfs only)
- secure -- True or False (default) (nfs only)
- upload_delay -- Delay in seconds before writing file to swift (default 0)
- write_retain -- True (default) or False
- no_apple_doubles -- True (default) or False
- clients_allowed_list -- IPv4 address or subnet, domain name or suffix, @<netgroup name>
Status: Status: Status:
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/<share_id>/?format=json -H 'Authorization: apikey <user>:<api_key>' -H 'content-type: application/json' -d '{"protocol": "cifs", "swift_container": "forms"}' -X PATCH
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | {
"access_mode": "ro",
"enabled": false,
"id": 15,
"name": "forms",
"node": "/api/v1/nodes/20/",
"protocol": "nfs",
"resource_uri": "/api/v1/gateway_shares/15/",
"root_squash": false,
"secure": false,
"swift_container": "forms",
"upload_delay": 0,
"write_retain": true,
"no_apple_doubles": true,
"clients_allowed_list": "",
}
|
Note
The PATCH response will include the password from the request, if any was sent.
Delete Share¶
Deletes a share.
-
DELETE
/api/v1/gateway_shares/<share_id>
¶ Status: 204 No Content Status: 400 Bad Request Status: 404 Not Found
Example request:
curl -1 https://scswiftcontroller.tatamediaservices.com/api/v1/gateway_shares/<share_id>/ -H 'Authorization: apikey <user>:<api_key>' -X DELETE