Add storage
Adds additional storage resources to the provider.
Example cURL requests
Add storage
curl -H "X-Auth-Token: $TOKEN" -X POST https://$OP_PANEL_HOST/api/v3/onepanel/provider/storages \
-H "Content-Type: application/json" -d '{
"My S3 Storage": {
"type": "s3",
"hostname": "https://iam.example.com:443",
"bucketName": "bucket1.iam.example.com"
},
"My Posix Storage": {
"type": "posix",
"mountPoint": "/volumes/inexistent/path"
}
}'
{
"My S3 Storage": {
"id": "f891d1ddf693232bbf0c11fe3cd9f7e7cheda9"
},
"My Posix Storage": {
"error": {
"id": "storageTestFailed",
"description": "Failed to write test file on storage.",
"details": {
"operation": "write"
}
}
}
}
Request body
The configuration details of storage resources to be added to the provider deployment. Must be an object with unique names for the storages as keys and their corresponding configuration (objects) as values - see the request body example.
<key> object The storage configuration.
The storage configuration.
The type of storage.
type = "posix"
Any POSIX compatible storage, typically attached over high-throughput local network, such as NFS.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
The type of storage.
type = "nulldevice"
POSIX compatible storage which emulates behavior of /dev/null on
local filesystem. Allows running various performance tests, which are
not impacted by actual storage latency.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
The type of storage.
type = "nfs"
NFS storage.
Type of the storage. Must be given explicitly and must match the actual type of subject storage - this redundancy is needed due to limitations of OpenAPI polymorphism.
Storage operation timeout in milliseconds.
Type of feed for LUMA DB. Feed is a source of user/group mappings used to populate the LUMA DB. For more info please read: https://onedata.org/#/home/documentation/doc/administering_onedata/luma.html
URL of external feed for LUMA DB. Relevant only if lumaFeed equals external.
API key checked by external service used as feed for LUMA DB. Relevant only if lumaFeed equals external.
Map with key-value pairs used for describing storage QoS parameters.
Defines whether storage contains existing data to be imported.
Defines whether storage supports long-term dataset archiving.
Defines whether the storage is readonly. If enabled, Oneprovider will block any operation that writes, modifies or deletes data on the storage. Such storage can only be used to import data into the space. Mandatory to ensure proper behaviour if the backend storage is actually configured as readonly. This option is available only for imported storages.
Request Examples
{
"s3": {
"type": "s3",
"s3Hostname": "https://s3.example.com",
"iamHostname": "iam.example.com",
"bucketName": "bucket1.iam.example.com",
"accessKey": "4efb70ad3e1fc8dd73c721b8f683b2e831503892",
"secretKey": "fdeac26aedd3a179f9551d7007cc6a6273165782"
},
"posix": {
"type": "posix",
"mountPoint": "/mnt/posix/onedata-space"
}
}Responses
Response consists of map, where keys are names of storages passed in the request, and values respresent id of added storage.
<key> object
error object (ErrorDetails) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Id of added storage.
Invalid request. Response consists of map, where keys are names of storages passed in the request, and values respresent id of added storage, or an error describing why the storage has not been added.
<key> object
error object (ErrorDetails) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Id of added storage.
Unauthorized request.
Forbidden request.
Internal server error.
error object (ErrorDetails) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Services needed to fulfill this request are not running.