Adding a Backend Target
Function
This API is used to add a storage backend for an SFS Turbo file system.
Constraints
This API is only supported for SFS Turbo 1,000 MB/s/TiB, 500 MB/s/TiB, 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, and 20 MB/s/TiB file systems. Request body parameter file_system_path must be the name of a directory that cannot be found in the root directory of the file system.
URI
POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
share_id |
Yes |
String |
File system ID |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Account token |
Content-Type |
Yes |
String |
MIME type |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
file_system_path |
Yes |
String |
Name of the linkage directory. SFS Turbo creates a subdirectory with this name in the root directory of the file system. The directory is used to bind the backend storage. The value must be a directory name that does not exist in the root directory of the file system. The value contains a maximum of 63 characters. The subdirectory name cannot be a period (.) or two consecutive periods (..). Multi-level directories are not supported, and slashes (/) are not allowed. |
obs |
Yes |
ObsDataRepository object |
OBS target |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
bucket |
Yes |
String |
OBS bucket name |
endpoint |
Yes |
String |
Name of the region where the bucket belongs |
policy |
No |
ObsDataRepositoryPolicy object |
Auto synchronization policy of the storage backend |
attributes |
No |
ObsTargetAttributes object |
Properties of the storage backend. This parameter is not supported for file systems that are created on or before June 30, 2024 and have not been upgraded. Submit a service ticket if you need it. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
auto_export_policy |
No |
AutoExportPolicy object |
Auto export policy of the storage backend. If enabled, all updates made on the file system will be automatically exported to the OBS bucket. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
events |
No |
Array of strings |
Type of data automatically exported to the OBS bucket.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
file_mode |
No |
Integer |
Permissions on the imported file. Value range: 0 to 777 The first digit indicates the permissions of the file owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the file belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The file owner is specified by UID, and the user group to which the file belongs is specified by GID. Users who are not the file owner and not in the user group to which the file belongs are other users. Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the file owner has the read, write, and execute permissions on the file, the second digit 5 indicates that the user group to which the file belongs has the read and execute permissions on the file, and the third digit 0 indicates that other users have no permission on the file. |
dir_mode |
No |
Integer |
Permissions on the imported directory. Value range: 0 to 777 The first digit indicates the permissions of the directory owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the directory belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The directory owner is specified by UID, and the user group to which the directory belongs is specified by GID. Users who are not the directory owner and not in the user group to which the directory belongs are other users. Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the directory owner has the read, write, and execute permissions on the directory, the second digit 5 indicates that the user group to which the directory belongs has the read and execute permissions on the directory, and the third digit 0 indicates that other users have no permission on the directory. |
uid |
No |
Integer |
ID of the user who imports the object. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2). |
gid |
No |
Integer |
ID of the user group to which the imported object belongs. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2). |
Response Parameters
Status code: 202
Parameter |
Type |
Description |
---|---|---|
X-request-id |
String |
Request ID |
Parameter |
Type |
Description |
---|---|---|
target_id |
String |
Target ID |
creation_time |
String |
Time when the target was created |
failure_details |
FailureDetailsMessage object |
Error information |
file_system_path |
String |
Name of the interworking directory |
lifecycle |
String |
Binding status. If the returned status is CREATING, you need to call the API for obtaining backend storage details to poll the binding completion status. If the returned status is AVAILABLE, the backend storage is successfully bound. If the status is MISCONFIGURED, the backend storage fails to be bound. The DELETING state is not supported currently. |
obs |
ObsDataRepository object |
OBS target |
Parameter |
Type |
Description |
---|---|---|
bucket |
String |
OBS bucket name |
endpoint |
String |
Name of the region where the bucket belongs |
policy |
ObsDataRepositoryPolicy object |
Auto synchronization policy of the storage backend |
attributes |
ObsTargetAttributes object |
Properties of the storage backend. This parameter is not supported for file systems that are created on or before June 30, 2024 and have not been upgraded. Submit a service ticket if you need it. |
Parameter |
Type |
Description |
---|---|---|
auto_export_policy |
AutoExportPolicy object |
Auto export policy of the storage backend. If enabled, all updates made on the file system will be automatically exported to the OBS bucket. |
Parameter |
Type |
Description |
---|---|---|
events |
Array of strings |
Type of data automatically exported to the OBS bucket.
|
Parameter |
Type |
Description |
---|---|---|
file_mode |
Integer |
Permissions on the imported file. Value range: 0 to 777 The first digit indicates the permissions of the file owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the file belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The file owner is specified by UID, and the user group to which the file belongs is specified by GID. Users who are not the file owner and not in the user group to which the file belongs are other users. Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the file owner has the read, write, and execute permissions on the file, the second digit 5 indicates that the user group to which the file belongs has the read and execute permissions on the file, and the third digit 0 indicates that other users have no permission on the file. |
dir_mode |
Integer |
Permissions on the imported directory. Value range: 0 to 777 The first digit indicates the permissions of the directory owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the directory belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The directory owner is specified by UID, and the user group to which the directory belongs is specified by GID. Users who are not the directory owner and not in the user group to which the directory belongs are other users. Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the directory owner has the read, write, and execute permissions on the directory, the second digit 5 indicates that the user group to which the directory belongs has the read and execute permissions on the directory, and the third digit 0 indicates that other users have no permission on the directory. |
uid |
Integer |
ID of the user who imports the object. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2). |
gid |
Integer |
ID of the user group to which the imported object belongs. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2). |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
errCode |
String |
Error code |
errMsg |
String |
Error description |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
errCode |
String |
Error code |
errMsg |
String |
Error description |
Example Requests
-
This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName.
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com" } }
-
This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The permissions of imported files are set to 750, and the permissions of imported directories are set to 640.
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "attributes" : { "file_mode" : 750, "dir_mode" : 640 } } }
-
This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The permissions of imported files are set to 750, the permissions of imported directories are set to 640, and both the UIDs and GIDs of the imported files and directories are set to 0.
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "attributes" : { "file_mode" : 750, "dir_mode" : 640, "uid" : 0, "gid" : 0 } } }
-
This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The type of the auto export policy is set to NEW, CHANGED, and DELETED.
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "policy" : { "auto_export_policy" : { "events" : [ "NEW", "CHANGED", "DELETED" ] } } } }
Example Responses
Status code: 202
Task submitted
{ "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939", "creation_time" : "2023-11-19T04:02:03", "file_system_path" : "sfsturboDirName", "lifecycle" : "CREATING", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com" } }
Status code: 400
Error response
{ "errCode" : "SFS.TURBO.0001", "errMsg" : "request path/body parameters invalid" }
Status code: 500
Error response
{ "errCode" : "SFS.TURBO.0005", "errMsg" : "internal server error" }
Status Codes
Status Code |
Description |
---|---|
202 |
Task submitted |
400 |
Error response |
500 |
Error response |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot