SODA Multicloud Project API Spec

Release v1.7.0

Swagger UIswagger

SODA Multi-Cloud API
 1.0.0 
OAS3

https://raw.githubusercontent.com/sodafoundation/multi-cloud/v1.7.0/openapi-spec/swagger.yaml

SODA Multi-cloud API to manage multi-cloud backend storages. You can find out more about Swagger at https://sodafoundation.io/

Backend

Multi-cloud cloud storage backends

POST/v1/{tenantId}/backends
Create a backend.
GET/v1/{tenantId}/backends
List all backends.
GET/v1/{tenantId}/backends/{backendId}
Get a backend information.
DELETE/v1/{tenantId}/backends/{backendId}
Deletes a backend.

Types

Supported storage backends

GET/v1/{tenantId}/types
List all supported storage backend type.

Plan

Migration plan

POST/v1/{tenantId}/plans
Create a plan.
GET/v1/{tenantId}/plans
List all plans.
DELETE/v1/{tenantId}/plans/{planId}
Delete a plan.
POST/v1/{tenantId}/plans/{planId}
Run a plan.

Job

Migration job

GET/v1/{tenantId}/jobs
List all jobs.

Policy

Schedule policy of plan.

POST/v1/{tenantId}/policies
Create a policy.
GET/v1/{tenantId}/policies
List all policies.

s3

s3 interface of multi-cloud

GET/
List Buckets.
PUT/{bucketName}
Create a bucket.
GET/{bucketName}
Get Objects of the Bucket
DELETE/{bucketName}
Delete a bucket.
PUT/{bucketName}/{object}
Upload Object.
GET/{bucketName}/{object}
Download Object
DELETE/{bucketName}/{object}
Delete Object.
GET/storageClasses
Get Supported StorageClasses

FileShare

Multi-cloud cloud file shares

POST/v1/{tenantId}/file/shares
Create a fileshare.
GET/v1/{tenantId}/file/shares
List all file shares.
GET/v1/{tenantId}/file/share/{id}
Get a fileshare information.
PUT/v1/{tenantId}/file/share/{id}
Update a fileshare.
DELETE/v1/{tenantId}/file/share/{id}
Deletes a fileshare.

Volume

Multi-cloud cloud Volume

POST/v1/{tenantId}/volumes
Create a volume.
GET/v1/{tenantId}/volumes
List all volumes.
GET/v1/{tenantId}/volumes/{id}
Get a volume information.
PUT/v1/{tenantId}/volumes/{id}
Update a volume.
DELETE/v1/{tenantId}/volumes/{id}
Deletes a volume.

Backup

Multi-cloud interface for object archival and restore

PUT/{bucketName}/{Object}
Upload Object into archival storage.
POST/{bucketName}/{Object}
Restore Object from archival storage.
GET/{bucketName}/{Object}
Download archived and restored Object

Storage Service Plan

Multi-cloud Storage Service Plan(SSP)

POST/v1/{tenantId}/tiers
Create a Storage Service Plan(SSP)
GET/v1/{tenantId}/tiers
List all Storage Service Plans.
GET/v1/{tenantId}/tiers/{id}
Get a Storage Service Plan information.
PUT/v1/{tenantId}/tiers/{id}
Update a Storage Service Plan.
DELETE/v1/{tenantId}/tiers/{id}
Deletes a Storage Service Plan.

AccessKey SecretKey

Interface for Access Key and Secret Key generation

AKSK

POST/v1/{project_id}/aksks
Create a new AKSK for a User.
GET/v1/{project_id}/aksks/{user_id}
Get the AKSK for a UserId.
DELETE/v1/{project_id}/aksks/{user_id}
Delete AKSKs for a user.
GET/v1/{project_id}/aksks/{user_id}/download
Download the AKSKs for a UserId.

Models

#/components/schemas/AKSKAKSK{...}
#/components/schemas/Backend_RequestBackend_Request{...}
#/components/schemas/Backend_ListBackend_List{...}
#/components/schemas/BackendBackend{...}
#/components/schemas/AWS_TypeAWS_Type{...}
#/components/schemas/Huawei_TypeHuawei_Type{...}
#/components/schemas/Azure_TypeAzure_Type{...}
#/components/schemas/Ceph_TypeCeph_Type{...}
#/components/schemas/GCP_TypeGCP_Type{...}
#/components/schemas/FS_TypeFS_Type{...}
#/components/schemas/IBM_TypeIBM_Type{...}
#/components/schemas/YIG_TypeYIG_Type{...}
#/components/schemas/Alibaba_TypeAlibaba_Type{...}
#/components/schemas/AWS_File_TypeAWS_File_Type{...}
#/components/schemas/Azure_File_TypeAzure_File_Type{...}
#/components/schemas/GCP_File_TypeGCP_File_Type{...}
#/components/schemas/AWS_Block_TypeAWS_Block_Type{...}
#/components/schemas/Hw_File_TypeHw_File_Type{...}
#/components/schemas/Hw_Block_TypeHw_Block_Type{...}
#/components/schemas/Sony_Oda_TypeSony_Oda_Type{...}
#/components/schemas/KVKV{...}
#/components/schemas/TagTag{...}
#/components/schemas/FieldsFields{...}
#/components/schemas/VolumeFieldsVolumeFields{...}
#/components/schemas/ConnectorConnector{...}
ConnTypestring
example: opensds-obj

Connector type.

Enum:
Array [ 10 ]
#/components/schemas/PlanPlan{...}
#/components/schemas/JobJob{...}
#/components/schemas/PolicyPolicy{...}
#/components/schemas/FileShareFileShare{...}
#/components/schemas/FileShareUpdateFileShareUpdate{...}
#/components/schemas/VolumeVolume{...}
#/components/schemas/VolumeUpdateVolumeUpdate{...}
#/components/schemas/TierTier{...}
#/components/schemas/TierRequestTierRequest{...}
#/components/schemas/TierUpdateTierUpdate{...}
#/components/schemas/AKSKResponseAKSKResponse{...}
AKSKGetResponse[...]
#/components/schemas/BaseResponseBaseResponse{...}
#/components/schemas/CreateBucketConfigurationCreateBucketConfiguration{...}
#/components/schemas/ListAllMyBucketsResultListAllMyBucketsResult{...}
#/components/schemas/ListBucketResultListBucketResult{...}
ListStorageClasses[...]
#/components/schemas/FileShareResultFileShareResult{...}
#/components/schemas/VolumeResultVolumeResult{...}
#/components/schemas/RestoreObjectRestoreObject{...}