Volumez API Gateway (Volumez API Gateway Version)

Download OpenAPI specification:Download

Volumez orchestrator API

Volumes

Get a list of volumes

Authorizations:
storage.io-authorizer
query Parameters
capacity
boolean
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new volume

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

A Volume object

name
required
string (Volume name) non-empty
volumeid
string (Volume ID) non-empty
type
required
string
Enum: "file" "block"
contentvolume
string
contentsnapshot
string
size
required
integer (Size, GiB) [ 1 .. 65536 ]
maxsize
integer (Upper limit size, GiB)
policy
required
string non-empty
consistencygroup
string
node
string
zone
string non-empty
zonereplica
string
volumegroupname
string (Volume Group name) non-empty
volumegroupid
string (Volume ID) non-empty
replicationnode
string
replicationvolumegroupname
string (Replication Volume Group name) non-empty
replicationvolumegroupid
string (Replication Volume ID) non-empty
volumerecoveryjob
string (Volume Recovery Job ID) non-empty
state
string
status
string
progress
integer
capacitygroup
string (Capacity group from which the volume is allocated) non-empty
throttlingscheme
string (Throttling Scheme for the volume) non-empty
allowdatamovement
boolean (Allow movement of the volume)
Default: false
flavor
string
Enum: "regular" "filedirect"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "volumeid": "string",
  • "type": "file",
  • "contentvolume": "string",
  • "contentsnapshot": "string",
  • "size": 1,
  • "maxsize": 0,
  • "policy": "string",
  • "consistencygroup": "string",
  • "node": "string",
  • "zone": "string",
  • "zonereplica": "string",
  • "volumegroupname": "string",
  • "volumegroupid": "string",
  • "replicationnode": "string",
  • "replicationvolumegroupname": "string",
  • "replicationvolumegroupid": "string",
  • "volumerecoveryjob": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "capacitygroup": "string",
  • "throttlingscheme": "string",
  • "allowdatamovement": false,
  • "flavor": "regular"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "volumeid": "string",
  • "type": "file",
  • "contentvolume": "string",
  • "contentsnapshot": "string",
  • "size": 1,
  • "maxsize": 0,
  • "policy": "string",
  • "consistencygroup": "string",
  • "node": "string",
  • "zone": "string",
  • "zonereplica": "string",
  • "volumegroupname": "string",
  • "volumegroupid": "string",
  • "replicationnode": "string",
  • "replicationvolumegroupname": "string",
  • "replicationvolumegroupid": "string",
  • "volumerecoveryjob": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "capacitygroup": "string",
  • "throttlingscheme": "string",
  • "allowdatamovement": false,
  • "flavor": "regular"
}

Delete a volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
query Parameters
force
boolean
Default: false
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Volume object

name
required
string (Volume name) non-empty
volumeid
string (Volume ID) non-empty
type
required
string
Enum: "file" "block"
contentvolume
string
contentsnapshot
string
size
required
integer (Size, GiB) [ 1 .. 65536 ]
maxsize
integer (Upper limit size, GiB)
policy
required
string non-empty
consistencygroup
string
node
string
zone
string non-empty
zonereplica
string
volumegroupname
string (Volume Group name) non-empty
volumegroupid
string (Volume ID) non-empty
replicationnode
string
replicationvolumegroupname
string (Replication Volume Group name) non-empty
replicationvolumegroupid
string (Replication Volume ID) non-empty
volumerecoveryjob
string (Volume Recovery Job ID) non-empty
state
string
status
string
progress
integer
capacitygroup
string (Capacity group from which the volume is allocated) non-empty
throttlingscheme
string (Throttling Scheme for the volume) non-empty
allowdatamovement
boolean (Allow movement of the volume)
Default: false
flavor
string
Enum: "regular" "filedirect"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "volumeid": "string",
  • "type": "file",
  • "contentvolume": "string",
  • "contentsnapshot": "string",
  • "size": 1,
  • "maxsize": 0,
  • "policy": "string",
  • "consistencygroup": "string",
  • "node": "string",
  • "zone": "string",
  • "zonereplica": "string",
  • "volumegroupname": "string",
  • "volumegroupid": "string",
  • "replicationnode": "string",
  • "replicationvolumegroupname": "string",
  • "replicationvolumegroupid": "string",
  • "volumerecoveryjob": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "capacitygroup": "string",
  • "throttlingscheme": "string",
  • "allowdatamovement": false,
  • "flavor": "regular"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

describe existing volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Volumegroupname": "string",
  • "encryption": true,
  • "Integrity": true,
  • "allocation": "string",
  • "compression": true,
  • "deduplication": true,
  • "writecache": true,
  • "redundancy": 0,
  • "size": 0,
  • "targetsecret": "string",
  • "allocatedsize": 0,
  • "resiliency": "string",
  • "raidcolumns": 0,
  • "mediasize": 0,
  • "mediabandwidthwrite": 0,
  • "mediabandwidthread": 0,
  • "mediaiopswrite": 0,
  • "mediaiopsread": 0,
  • "media": [
    ],
  • "cachesize": 0,
  • "cacheresiliency": "string",
  • "cacheredundancy": 0,
  • "cacheraidcolumns": 0,
  • "cachemediasize": 0,
  • "cachemediabandwidthwrite": 0,
  • "cachemediabandwidthread": 0,
  • "cachemediaiopswrite": 0,
  • "cachemediaiopsread": 0,
  • "cachemedia": [
    ],
  • "attachments": [
    ]
}

Initiate recover on volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

AutoProvisionVolumes

Create a new auto provisioned volume

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

Auto Provision Volume object

required
object (Volume)
object (AutoProvisionInfraPlan)
cloudProvider
required
string (cloud provider name) non-empty
accountId
required
string (the customers provider account id) non-empty
sshKeyName
string (ssh key name) non-empty
imageId
string (os image id) non-empty
region
required
string (Region to create teh volume in) non-empty
availabilityZones
required
Array of strings non-empty
subnets
required
Array of strings non-empty
osType
required
string
Enum: "Linux" "Rhel" "Ubuntu"

Responses

Request samples

Content type
application/json
{
  • "volume": {
    },
  • "infraPlan": {
    },
  • "cloudProvider": "string",
  • "accountId": "string",
  • "sshKeyName": "string",
  • "imageId": "string",
  • "region": "string",
  • "availabilityZones": [
    ],
  • "subnets": [
    ],
  • "osType": "Linux"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Nodes

Get a list of nodes

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set the tags of a node

Authorizations:
storage.io-authorizer
path Parameters
node
required
string

Name of node to return

header Parameters
authorization
string
Request Body schema: application/json
required

user defined tags

property name*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a node

Authorizations:
storage.io-authorizer
path Parameters
node
required
string

Name of node to return

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "instanceid": "string",
  • "name": "string",
  • "os": "string",
  • "osversion": "string",
  • "kversion": "string",
  • "controladdress": "string",
  • "credential": "string",
  • "accountID": "string",
  • "region": "string",
  • "zone": "string",
  • "ResourceNamespace": "string",
  • "PhysicalProximityGroup": "string",
  • "ResiliencyDomain": "string",
  • "FaultDomain": "string",
  • "offlinetime": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "connectorversion": "string",
  • "label": "string",
  • "tags": { },
  • "cloudprovider": "string",
  • "nodecluster": "string",
  • "autoprovisionInfraUUID": "string",
  • "instancetype": "string"
}

Delete a node

Authorizations:
storage.io-authorizer
path Parameters
node
required
string

node to delete

query Parameters
force
boolean
Default: false
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

performing node cleanup

Authorizations:
storage.io-authorizer
path Parameters
node
required
string

Name of node to return

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

performing node version upgrade

Authorizations:
storage.io-authorizer
path Parameters
node
required
string

Name of node to upgrade

header Parameters
authorization
string
Request Body schema: application/json
optional

Connector Version

version
string

Responses

Request samples

Content type
application/json
{
  • "version": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Policies

Policies allow you to declare the desired characteristics of volumes you will later create. Policies are expressed in terms of outcomes (such as desired performance and resiliency). When you later ask Volumez to create volumes using a policy, it will automatically allocate and configure whatever is necessary to match these desired outcomes.

Get a list of policies

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new policy

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

A Policy object

name
required
string non-empty

A name for the policy. The name can be any non-empty string that does not contain a white space.

iopswrite
integer >= 0

Enter the maximum write IOPS that a volume is expected to sustain (assuming 8K writes). Write IOPS should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

iopsread
integer >= 0

Enter the maximum read IOPS that a volume is expected to sustain (assuming 8K reads). Read IOPS should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

bandwidthwrite
integer >= 0

Enter the maximum write bandwidth that a volume is expected to sustain. Write Bandwidth should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

bandwidthread
integer >= 0

Enter the maximum read bandwidth that a volume is expected to sustain. Read Bandwidth should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencywrite
integer >= 0

Enter the maximum latency that a volume is expected to sustain. Write latency should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencyread
integer >= 0

Enter the maximum read IOPS that a volume is expected to sustain. Read latency should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencyreadcold
integer >= 0

If not all the reads are hot (i.e., Percentage of Cold Reads is >0) – Enter the more relaxed constraints for read latencies of cold data. Valid values: non-negative integer number, that is larger than “Read Latency”.

colddata
integer [ 0 .. 100 ]

Enter the percentage of the volume’s capacity that is expected to be “cold” (i.e. expected to only have infrequent reads). Default is 0%. Values that are greater than 0 give Volumez the option to use more economic media with more relaxed read performance requirements. Valid values: Integers in the range of 0..100.

localzoneread
boolean

Setting this value to “Yes” directs Volumez to prefer volume configurations where reads are usually happening from disks that are in the same zone as the application. This saves east-west network traffic across zones, however more media per zone will be required to achieve read-IOPs requirements. Set this value to “Yes” if you have network constraints (bandwidth or cost) across your zones; otherwise set it to “No”.

failureperformance
boolean

Setting this value to “Yes” directs Volumez to over-provision volumes in a way that even after having a failure, the volumes will have the desired performance. Setting this value to “No” directs Volumez to provision volumes according to the desired performance, however in a case of failure – performance may be impacted. The default value is “No”.

capacityoptimization
required
string
Enum: "capacity" "balanced" "performance"

Choosing “Capacity” directs Volumez to prefer using capacity-saving methods (such as compression, deduplication, erasure coding and thin provisioning) where relevant, in order to consume the minimum amount of raw media. Using such methods might take some CPU cycles, and might reduce the performance of your volumes (it will still be within the range you specified). Choosing “Balanced” directs Volumez to prefer using some capacity-saving methods where relevant, in order to use less raw media, while consuming a small amount of CPU cycles. “Performance Optimized” directs Volumez to avoid using capacity-saving any methods (such as compression and deduplication) that reduce media consumption. This way applications can get the optimal performance from their media, however more raw media might be consumed to provision Performance-Optimized volumes.

capacityreservation
integer [ 0 .. 500 ]

Enter how much logical capacity is reserved up-front for the applications to use. If more capacity is needed for the volume, it will be allocated based on availability of media. Capacities that are reserved can be used for the volume itself and for its snapshots. For example – Use 0% for thin-provisioned volumes, 130% for thick-provisioned volumes with estimated 30% of space for snapshots. Valid values are 0%-500%, default is 20%.

resiliencymedia
integer [ 0 .. 2 ]

Enter how many media failures (e.g. disk, memory card) the system is required to sustain, and still serve volumes of this policy. A value of “0” means any disk failure will result data unavailability and loss. Valid values are 0..3, default value is 2.

resiliencynode
integer [ 0 .. 2 ]

Enter how many Volumez node (e.g. EC2 instance, server) failures the system is required to sustain, and still serve volumes of this policy. This is different than “Media failures” because sometimes multiple media copies may end on a single node. A value of “0” means any node failure will result data unavailability and loss. Valid values are 0..3, default value is 1.

resiliencyzone
integer >= 0

Enter how many zones (e.g. AWS availability zones, DataCenters Buildings) failures the system is required to sustain, and still serve volumes of this policy. Note: zones are assumed to be within the same metro distance, and resiliency to zone failures means cross-zone network traffic. Valid values are 0..2, default value is 1.

resiliencyregion
integer [ 0 .. 1 ]

Enter how many regions (e.g. AWS regions zones, DataCenters across continents) failures the system is required to sustain, and still serve volumes of this policy. Note: regions are assumed to reside across WAN distance, with some bandwidth limitations. Valid values are 0 and 1, default value is 0.

replicationrpo
integer [ 0 .. 3600 ]

Enter how many seconds are allowed for the replica to stay behind the primary storage. 0 means synchronous replication. Valid values are 0..3600, default value is 0. Max value: 3600. (1 hour).

replicationbandwidth
integer

Specifies the maximum bandwidth that Volumez is allowed to consume for replication of this volume (MB/s). 0 means no bandwidth limitation.

encryption
boolean

Enter “YES” to encrypt the data in server where the application is running. Note: No change is needed in the applications themselves, however encryption will consume some CPU cycles on the application server. Default value NO.

sed
boolean

Enter “YES” to direct Volumez to only use media with disk encryption capabilities. Note that specifying “NO” can still use such media, however it is not a must to use it. Default value: NO.

integrity
boolean

Enter “YES” to direct Volumez to activate the “Device Mapper integrity” protection for the volume. This capability provides strong integrity checking. Note: No change is needed in the applications themselves, however Data Integrity will consume non-negligible CPU cycles on the application server. Default value: NO.

snapshotkeep
integer
snapshotfrequency
string
snapshotday
integer
snapshothour
integer
snapshotminute
integer
createdbyuserName
string
createdbyuseremail
string
createdtime
string
updatebyusername
string
updatebyUseremail
string
updatetime
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "iopswrite": 0,
  • "iopsread": 0,
  • "bandwidthwrite": 0,
  • "bandwidthread": 0,
  • "latencywrite": 0,
  • "latencyread": 0,
  • "latencyreadcold": 0,
  • "colddata": 100,
  • "localzoneread": true,
  • "failureperformance": true,
  • "capacityoptimization": "capacity",
  • "capacityreservation": 500,
  • "resiliencymedia": 2,
  • "resiliencynode": 2,
  • "resiliencyzone": 0,
  • "resiliencyregion": 1,
  • "replicationrpo": 3600,
  • "replicationbandwidth": 0,
  • "encryption": true,
  • "sed": true,
  • "integrity": true,
  • "snapshotkeep": 0,
  • "snapshotfrequency": "string",
  • "snapshotday": 0,
  • "snapshothour": 0,
  • "snapshotminute": 0,
  • "createdbyuserName": "string",
  • "createdbyuseremail": "string",
  • "createdtime": "string",
  • "updatebyusername": "string",
  • "updatebyUseremail": "string",
  • "updatetime": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a policy

Authorizations:
storage.io-authorizer
path Parameters
policy
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "iopswrite": 0,
  • "iopsread": 0,
  • "bandwidthwrite": 0,
  • "bandwidthread": 0,
  • "latencywrite": 0,
  • "latencyread": 0,
  • "latencyreadcold": 0,
  • "colddata": 100,
  • "localzoneread": true,
  • "failureperformance": true,
  • "capacityoptimization": "capacity",
  • "capacityreservation": 500,
  • "resiliencymedia": 2,
  • "resiliencynode": 2,
  • "resiliencyzone": 0,
  • "resiliencyregion": 1,
  • "replicationrpo": 3600,
  • "replicationbandwidth": 0,
  • "encryption": true,
  • "sed": true,
  • "integrity": true,
  • "snapshotkeep": 0,
  • "snapshotfrequency": "string",
  • "snapshotday": 0,
  • "snapshothour": 0,
  • "snapshotminute": 0,
  • "createdbyuserName": "string",
  • "createdbyuseremail": "string",
  • "createdtime": "string",
  • "updatebyusername": "string",
  • "updatebyUseremail": "string",
  • "updatetime": "string"
}

Delete a policy

Authorizations:
storage.io-authorizer
path Parameters
policy
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a policy

Authorizations:
storage.io-authorizer
path Parameters
policy
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Policy object

name
required
string non-empty

A name for the policy. The name can be any non-empty string that does not contain a white space.

iopswrite
integer >= 0

Enter the maximum write IOPS that a volume is expected to sustain (assuming 8K writes). Write IOPS should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

iopsread
integer >= 0

Enter the maximum read IOPS that a volume is expected to sustain (assuming 8K reads). Read IOPS should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

bandwidthwrite
integer >= 0

Enter the maximum write bandwidth that a volume is expected to sustain. Write Bandwidth should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

bandwidthread
integer >= 0

Enter the maximum read bandwidth that a volume is expected to sustain. Read Bandwidth should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencywrite
integer >= 0

Enter the maximum latency that a volume is expected to sustain. Write latency should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencyread
integer >= 0

Enter the maximum read IOPS that a volume is expected to sustain. Read latency should be a positive integer number. Volumez will guarantee to provide this performance, regardless of the volume size or other volumes.

latencyreadcold
integer >= 0

If not all the reads are hot (i.e., Percentage of Cold Reads is >0) – Enter the more relaxed constraints for read latencies of cold data. Valid values: non-negative integer number, that is larger than “Read Latency”.

colddata
integer [ 0 .. 100 ]

Enter the percentage of the volume’s capacity that is expected to be “cold” (i.e. expected to only have infrequent reads). Default is 0%. Values that are greater than 0 give Volumez the option to use more economic media with more relaxed read performance requirements. Valid values: Integers in the range of 0..100.

localzoneread
boolean

Setting this value to “Yes” directs Volumez to prefer volume configurations where reads are usually happening from disks that are in the same zone as the application. This saves east-west network traffic across zones, however more media per zone will be required to achieve read-IOPs requirements. Set this value to “Yes” if you have network constraints (bandwidth or cost) across your zones; otherwise set it to “No”.

failureperformance
boolean

Setting this value to “Yes” directs Volumez to over-provision volumes in a way that even after having a failure, the volumes will have the desired performance. Setting this value to “No” directs Volumez to provision volumes according to the desired performance, however in a case of failure – performance may be impacted. The default value is “No”.

capacityoptimization
required
string
Enum: "capacity" "balanced" "performance"

Choosing “Capacity” directs Volumez to prefer using capacity-saving methods (such as compression, deduplication, erasure coding and thin provisioning) where relevant, in order to consume the minimum amount of raw media. Using such methods might take some CPU cycles, and might reduce the performance of your volumes (it will still be within the range you specified). Choosing “Balanced” directs Volumez to prefer using some capacity-saving methods where relevant, in order to use less raw media, while consuming a small amount of CPU cycles. “Performance Optimized” directs Volumez to avoid using capacity-saving any methods (such as compression and deduplication) that reduce media consumption. This way applications can get the optimal performance from their media, however more raw media might be consumed to provision Performance-Optimized volumes.

capacityreservation
integer [ 0 .. 500 ]

Enter how much logical capacity is reserved up-front for the applications to use. If more capacity is needed for the volume, it will be allocated based on availability of media. Capacities that are reserved can be used for the volume itself and for its snapshots. For example – Use 0% for thin-provisioned volumes, 130% for thick-provisioned volumes with estimated 30% of space for snapshots. Valid values are 0%-500%, default is 20%.

resiliencymedia
integer [ 0 .. 2 ]

Enter how many media failures (e.g. disk, memory card) the system is required to sustain, and still serve volumes of this policy. A value of “0” means any disk failure will result data unavailability and loss. Valid values are 0..3, default value is 2.

resiliencynode
integer [ 0 .. 2 ]

Enter how many Volumez node (e.g. EC2 instance, server) failures the system is required to sustain, and still serve volumes of this policy. This is different than “Media failures” because sometimes multiple media copies may end on a single node. A value of “0” means any node failure will result data unavailability and loss. Valid values are 0..3, default value is 1.

resiliencyzone
integer >= 0

Enter how many zones (e.g. AWS availability zones, DataCenters Buildings) failures the system is required to sustain, and still serve volumes of this policy. Note: zones are assumed to be within the same metro distance, and resiliency to zone failures means cross-zone network traffic. Valid values are 0..2, default value is 1.

resiliencyregion
integer [ 0 .. 1 ]

Enter how many regions (e.g. AWS regions zones, DataCenters across continents) failures the system is required to sustain, and still serve volumes of this policy. Note: regions are assumed to reside across WAN distance, with some bandwidth limitations. Valid values are 0 and 1, default value is 0.

replicationrpo
integer [ 0 .. 3600 ]

Enter how many seconds are allowed for the replica to stay behind the primary storage. 0 means synchronous replication. Valid values are 0..3600, default value is 0. Max value: 3600. (1 hour).

replicationbandwidth
integer

Specifies the maximum bandwidth that Volumez is allowed to consume for replication of this volume (MB/s). 0 means no bandwidth limitation.

encryption
boolean

Enter “YES” to encrypt the data in server where the application is running. Note: No change is needed in the applications themselves, however encryption will consume some CPU cycles on the application server. Default value NO.

sed
boolean

Enter “YES” to direct Volumez to only use media with disk encryption capabilities. Note that specifying “NO” can still use such media, however it is not a must to use it. Default value: NO.

integrity
boolean

Enter “YES” to direct Volumez to activate the “Device Mapper integrity” protection for the volume. This capability provides strong integrity checking. Note: No change is needed in the applications themselves, however Data Integrity will consume non-negligible CPU cycles on the application server. Default value: NO.

snapshotkeep
integer
snapshotfrequency
string
snapshotday
integer
snapshothour
integer
snapshotminute
integer
createdbyuserName
string
createdbyuseremail
string
createdtime
string
updatebyusername
string
updatebyUseremail
string
updatetime
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "iopswrite": 0,
  • "iopsread": 0,
  • "bandwidthwrite": 0,
  • "bandwidthread": 0,
  • "latencywrite": 0,
  • "latencyread": 0,
  • "latencyreadcold": 0,
  • "colddata": 100,
  • "localzoneread": true,
  • "failureperformance": true,
  • "capacityoptimization": "capacity",
  • "capacityreservation": 500,
  • "resiliencymedia": 2,
  • "resiliencynode": 2,
  • "resiliencyzone": 0,
  • "resiliencyregion": 1,
  • "replicationrpo": 3600,
  • "replicationbandwidth": 0,
  • "encryption": true,
  • "sed": true,
  • "integrity": true,
  • "snapshotkeep": 0,
  • "snapshotfrequency": "string",
  • "snapshotday": 0,
  • "snapshothour": 0,
  • "snapshotminute": 0,
  • "createdbyuserName": "string",
  • "createdbyuseremail": "string",
  • "createdtime": "string",
  • "updatebyusername": "string",
  • "updatebyUseremail": "string",
  • "updatetime": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a policy

Authorizations:
storage.io-authorizer
path Parameters
policy
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Show policy volume create plan

Authorizations:
storage.io-authorizer
path Parameters
policy
required
string
size
required
integer
zone
required
string
query Parameters
capacity_group
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "volumegroup": {
    },
  • "replicationvolumegroup": {
    }
}

Networks

Get a list of networks

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new network

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

A Network object

name
required
string non-empty
zone
string non-empty
type
required
string
Enum: "management" "storage"
ipstart
required
string^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(2...
ipend
required
string^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(2...

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "zone": "string",
  • "type": "management",
  • "ipstart": "string",
  • "ipend": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a network

Authorizations:
storage.io-authorizer
path Parameters
network
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "zone": "string",
  • "type": "management",
  • "ipstart": "string",
  • "ipend": "string"
}

Delete a network

Authorizations:
storage.io-authorizer
path Parameters
network
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a network

Authorizations:
storage.io-authorizer
path Parameters
network
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Network object

name
required
string non-empty
zone
string non-empty
type
required
string
Enum: "management" "storage"
ipstart
required
string^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(2...
ipend
required
string^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(2...

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "zone": "string",
  • "type": "management",
  • "ipstart": "string",
  • "ipend": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Jobs

Get a list of jobs

Authorizations:
storage.io-authorizer
query Parameters
internal
boolean
page
integer
count
integer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the properties of a job

Authorizations:
storage.io-authorizer
path Parameters
job
required
integer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "string",
  • "object": "string",
  • "args": { },
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "starttime": "string",
  • "endtime": "string",
  • "username": "string",
  • "useremail": "string"
}

Delete a job

Authorizations:
storage.io-authorizer
path Parameters
job
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Snapshots

Create a new snapshot for given consistency group

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

A Snapshot object

name
string
consistency
string
Enum: "crash" "application"
group_name
string
volumes
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "consistency": "crash",
  • "group_name": "string",
  • "volumes": [
    ]
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

List of snapshots group

Authorizations:
storage.io-authorizer
path Parameters
snapshot_group_name
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of snapshots

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Snapshot object

volumename
string (Volume name)
volumeid
string (Volume ID) non-empty
volumesize
integer
name
required
string (Snapshot name) non-empty
snapshotid
string (Snapshot ID) non-empty
targetsecret
string (Target connect secret) non-empty
consistency
required
string
Enum: "crash" "application"
time
string
policy
boolean
consistencygroup
boolean
consistencygroupname
string
used
integer
state
string
status
string
progress
integer
numberofattachments
integer

Responses

Request samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "volumesize": 0,
  • "name": "string",
  • "snapshotid": "string",
  • "targetsecret": "string",
  • "consistency": "crash",
  • "time": "string",
  • "policy": true,
  • "consistencygroup": true,
  • "consistencygroupname": "string",
  • "used": 0,
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "numberofattachments": 0
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "volumesize": 0,
  • "name": "string",
  • "snapshotid": "string",
  • "targetsecret": "string",
  • "consistency": "crash",
  • "time": "string",
  • "policy": true,
  • "consistencygroup": true,
  • "consistencygroupname": "string",
  • "used": 0,
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "numberofattachments": 0
}

Delete a snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
query Parameters
force
boolean
Default: false
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Snapshot object

volumename
string (Volume name)
volumeid
string (Volume ID) non-empty
volumesize
integer
name
required
string (Snapshot name) non-empty
snapshotid
string (Snapshot ID) non-empty
targetsecret
string (Target connect secret) non-empty
consistency
required
string
Enum: "crash" "application"
time
string
policy
boolean
consistencygroup
boolean
consistencygroupname
string
used
integer
state
string
status
string
progress
integer
numberofattachments
integer

Responses

Request samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "volumesize": 0,
  • "name": "string",
  • "snapshotid": "string",
  • "targetsecret": "string",
  • "consistency": "crash",
  • "time": "string",
  • "policy": true,
  • "consistencygroup": true,
  • "consistencygroupname": "string",
  • "used": 0,
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "numberofattachments": 0
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Roll back to snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get a list of all snapshots

Authorizations:
storage.io-authorizer
query Parameters
capacity
boolean
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Attachments

Get a list of all attachments

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of attachments for a given volume

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of attachments for a given volume and snapshot

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new attachment

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

An Attachment object

volumename
string (Volume name)
volumeid
string (Volume ID)
snapshotname
string (Snapshot Name)
snapshotid
string (Snapshot ID)
node
required
string
state
string
status
string
progress
integer
mountpoint
string (Mount point)
readonly
boolean (Read Only)
allocated_resources
integer (Allocated performance resources) [ 1 .. 100 ]

Responses

Request samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "snapshotname": "string",
  • "snapshotid": "string",
  • "node": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "mountpoint": "string",
  • "readonly": true,
  • "allocated_resources": 1
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of an attachment

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
node
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "snapshotname": "string",
  • "snapshotid": "string",
  • "node": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "mountpoint": "string",
  • "readonly": true,
  • "allocated_resources": 1
}

Delete an attachment

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
node
required
string
query Parameters
force
boolean
Default: false
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify an attachment

Authorizations:
storage.io-authorizer
path Parameters
volume
required
string
snapshot
required
string
node
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

An Attachment object

volumename
string (Volume name)
volumeid
string (Volume ID)
snapshotname
string (Snapshot Name)
snapshotid
string (Snapshot ID)
node
required
string
state
string
status
string
progress
integer
mountpoint
string (Mount point)
readonly
boolean (Read Only)
allocated_resources
integer (Allocated performance resources) [ 1 .. 100 ]

Responses

Request samples

Content type
application/json
{
  • "volumename": "string",
  • "volumeid": "string",
  • "snapshotname": "string",
  • "snapshotid": "string",
  • "node": "string",
  • "state": "string",
  • "status": "string",
  • "progress": 0,
  • "mountpoint": "string",
  • "readonly": true,
  • "allocated_resources": 1
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Media

Get a list of media

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Assign media

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
query Parameters
capacity_group
string
reprofile
boolean
Default: false
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Assign media

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
header Parameters
authorization
string
Request Body schema: application/json
optional
capacity_group
string
reprofile
boolean

Profile media even if it was already profiled

Responses

Request samples

Content type
application/json
{
  • "capacity_group": "string",
  • "reprofile": true
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Unassign media

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Unassign media

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a media profile

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Media Profile object

iopsread
integer
iopswrite
integer
bandwidthread
integer
bandwidthwrite
integer
latencyread
integer
latencywrite
integer
freeiopsread
integer
freeiopswrite
integer
freebandwidthread
integer
freebandwidthwrite
integer

Responses

Request samples

Content type
application/json
{
  • "iopsread": 0,
  • "iopswrite": 0,
  • "bandwidthread": 0,
  • "bandwidthwrite": 0,
  • "latencyread": 0,
  • "latencywrite": 0,
  • "freeiopsread": 0,
  • "freeiopswrite": 0,
  • "freebandwidthread": 0,
  • "freebandwidthwrite": 0
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get a list of virtual media

Authorizations:
storage.io-authorizer
query Parameters
startfrom
string
count
integer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create (virtual) media

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

Virtual media creation parameters

selector
string non-empty
flavor
string
Enum: "stripped" "raid1" "split"

Responses

Request samples

Content type
application/json
{
  • "selector": "string",
  • "flavor": "stripped"
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "JobID": "string",
  • "ObjectID": "string"
}

Delete virtual media

Authorizations:
storage.io-authorizer
path Parameters
media
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Connectivities

Get a list of connectivities

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new connectivity

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

A Connectivity object

name
required
string
zones1
required
string
systemtypes1
required
string^(?:(?:rhel|sles|amzn|ubuntu)[, ])*(?:rhel|sl...
zones2
required
string
systemtypes2
required
string^(?:(?:rhel|sles|amzn|ubuntu)[, ])*(?:rhel|sl...
mediaprotocol
required
string
replicationprotocol
required
string
replicationbandwidth
integer >= 0

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "zones1": "string",
  • "systemtypes1": "string",
  • "zones2": "string",
  • "systemtypes2": "string",
  • "mediaprotocol": "string",
  • "replicationprotocol": "string",
  • "replicationbandwidth": 0
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Get the properties of a connectivity

Authorizations:
storage.io-authorizer
path Parameters
connectivity
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "zones1": "string",
  • "systemtypes1": "string",
  • "zones2": "string",
  • "systemtypes2": "string",
  • "mediaprotocol": "string",
  • "replicationprotocol": "string",
  • "replicationbandwidth": 0
}

Delete a connectivity

Authorizations:
storage.io-authorizer
path Parameters
connectivity
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Modify a connectivity

Authorizations:
storage.io-authorizer
path Parameters
connectivity
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

A Connectivity object

name
required
string
zones1
required
string
systemtypes1
required
string^(?:(?:rhel|sles|amzn|ubuntu)[, ])*(?:rhel|sl...
zones2
required
string
systemtypes2
required
string^(?:(?:rhel|sles|amzn|ubuntu)[, ])*(?:rhel|sl...
mediaprotocol
required
string
replicationprotocol
required
string
replicationbandwidth
integer >= 0

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "zones1": "string",
  • "systemtypes1": "string",
  • "zones2": "string",
  • "systemtypes2": "string",
  • "mediaprotocol": "string",
  • "replicationprotocol": "string",
  • "replicationbandwidth": 0
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

CapacityGroups

Get available capacity groups

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Alerts

Get a list of alerts

Authorizations:
storage.io-authorizer
query Parameters
capacity
boolean
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Acknowledge a pending alert

Authorizations:
storage.io-authorizer
path Parameters
alert
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

/volumes

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/plan

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/snapshot

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/snapshot/{snapshot_group_name}

path Parameters
snapshot_group_name
required
string
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/describe

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/recover

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/snapshots

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/snapshots/{snapshot}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/snapshots/{snapshot}/rollback

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/associations

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/associations/{association}

path Parameters
association
required
string
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/autoprovisionvolumes

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/snapshots

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/attachments

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/attachments

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/snapshots/{snapshot}/attachments

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/volumes/{volume}/snapshots/{snapshot}/attachments/{node}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/nodes

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/nodes/tags/{node}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/nodes/{node}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/nodes/cleanup/{node}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/nodes/upgrade/{node}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/policies

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/policies/{policy}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/policies/{policy}/volumes

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/policies/{policy}/size/{size}/zone/{zone}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/networks

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/networks/{network}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/jobs

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/jobs/{job}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/media

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/media/{media}/assign

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/media/{media}/unassign

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/media/{media}/profile

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/virtualmedia

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/virtualmedia/{media}

path Parameters
media
required
string
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/connectivities

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/connectivities/{connectivity}

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/capacitygroups

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/signup

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/version

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/alerts

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/alerts/{alert}/acknowledge

path Parameters
volume
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

/charts

/charts/{proxy+}

path Parameters
proxy
required
string

/log/{tenantid}/{logfile}

Authorizations:
storage.io-authorizer
path Parameters
logfile
required
string
tenantid
required
string
header Parameters
authorization
string

Responses

/log/{tenantid}/{logfile}

path Parameters
logfile
required
string
tenantid
required
string

Responses

/tenant-cloud-resources/role

Responses

/tenant-cloud-resources/vm/zones

Responses

/tenant-cloud-resources/{cloudProviderAccountId}/role

Responses

/tenant-cloud-resources/{cloudProviderAccountId}/vm/vpcs

Responses

/tenant-cloud-resources/{cloudProviderAccountId}/vm/{region}/metadata/{nodeId}

Responses

/tenant-cloud-resources/{cloudProviderAccountId}/vm/{region}/vpcs

Responses

/infra-planner/create-infra-plan

Responses

/infra-planner/create-infra-plan/public

Responses

/infra-planner/provider-pricing-info

Responses

/signout

Responses

/signin

Responses

/tenant/user

Responses

/tenant/user/requestchangepassword

Responses

/tenant/user/changepassword

Responses

/tenant/user/changepasswordloggedin

Responses

/tenant/user/confirmation

Responses

/add-user

Responses

/disable-user/{email}

Responses

/invite-user/{email}

Responses

/delete-user/{email}

Responses

/users/{tenantId}

Responses

/azuremarketplace/subscription

Responses

/tenant/refreshtoken

Responses

/tenant/token

Responses

/tenant/tenantid

Responses

/tenant/{tenantID}/tenanthosts/{tenantHost}

Responses

/tenant/tenanthost/credentials

Responses

/tenant/tenanthost

Responses

/tenant/apiaccess/credentials/refresh

Responses

/tenant-settings

header Parameters
authorization
string

Responses

/tenant-settings/reset

header Parameters
authorization
string

Responses

volumes

check if volumes can be created

Authorizations:
storage.io-authorizer
query Parameters
verbose
boolean
Default: true

if true will return the volume plan if false will omit the plan from the response

header Parameters
authorization
string
Request Body schema: application/json
required
Array of objects non-empty
CapacityGroup
string

capacity groups to create the volume from (optional)

DefaultZone
string

zone parameter for all volumes that dont have zone parameter

DefaultPolicy
string

policy parameter for all volumes that dont have policy parameter defined in their input

Responses

Request samples

Content type
application/json
{
  • "Volumes": [
    ],
  • "CapacityGroup": "string",
  • "DefaultZone": "string",
  • "DefaultPolicy": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "Success": true,
  • "Plans": [
    ]
}

Associations

Get a list of associations

Authorizations:
storage.io-authorizer
query Parameters
startfrom
string
count
integer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create association

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

An association object

name
string (name)
volume
string (Volume)
snapshot
string (Snapshot) non-empty
mountpoint
string (Mount point)
selector
string non-empty

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "volume": "string",
  • "snapshot": "string",
  • "mountpoint": "string",
  • "selector": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "JobID": "string",
  • "ObjectID": "string"
}

Delete an association

Authorizations:
storage.io-authorizer
path Parameters
association
required
string
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Association modify

Authorizations:
storage.io-authorizer
path Parameters
association
required
string
header Parameters
authorization
string
Request Body schema: application/json
required

An association object

name
string (name)
snapshot
string (Snapshot) non-empty
selector
string non-empty

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "snapshot": "string",
  • "selector": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

users

Create Tenant's first user

Request Body schema: application/json
required

A user object

email
required
string non-empty
password
required
string >= 8 characters
name
required
string [ 1 .. 50 ] characters
cloudprovider
string non-empty
markettoken
string non-empty

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst",
  • "name": "string",
  • "cloudprovider": "string",
  • "markettoken": "string"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Version

Get version of sio

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "version": "string",
  • "componentName": "string"
}

TenantCloudResources

Get All Tenant roles

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "roles": [
    ]
}

Create tenant cloud role

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required
cloudProvider
string (CloudProviderType)
Enum: "aws" "azure"
object (CreateAwsRoleRequest)
object (CreateAzureRoleRequest)

Responses

Request samples

Content type
application/json
{
  • "cloudProvider": "aws",
  • "awsRole": {
    },
  • "azureRole": {
    }
}

Response samples

Content type
application/json
{ }

Get cloud provider zones for requested region

Authorizations:
storage.io-authorizer
query Parameters
cloudProvider
string (CloudProviderType)
Enum: "aws" "azure"

Cloud provider type

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "aws": [
    ],
  • "azure": {
    }
}

Update tenant cloud role for the given cloudProviderAccountId

Authorizations:
storage.io-authorizer
path Parameters
cloudProviderAccountId
required
string (CloudProviderAccountId)
header Parameters
authorization
string
Request Body schema: application/json
required
cloudProvider
string (CloudProviderType)
Enum: "aws" "azure"
object (UpdateAwsRoleRequest)
object (UpdateAzureRoleRequest)

Responses

Request samples

Content type
application/json
{
  • "cloudProvider": "aws",
  • "awsRole": {
    },
  • "azureRole": {
    }
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

Delete tenant role resource by the given cloudProviderAccountId query param

Authorizations:
storage.io-authorizer
path Parameters
cloudProviderAccountId
required
string (CloudProviderAccountId)
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string",
  • "message": "string"
}

Get all tenant's cloud VM's available VPCs

Authorizations:
storage.io-authorizer
path Parameters
cloudProviderAccountId
required
string (CloudProviderAccountId)
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get tenant's cloud VM' metadata by region

Authorizations:
storage.io-authorizer
path Parameters
cloudProviderAccountId
required
string (CloudProviderAccountId)
region
required
string (Region)
nodeId
required
string (NodeId)
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "vpc": {
    }
}

Get tenant's cloud VM's available VPCs by region

Authorizations:
storage.io-authorizer
path Parameters
cloudProviderAccountId
required
string (CloudProviderAccountId)
region
required
string (Region)
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

infra-planner

createInfraPlan

Authorizations:
storage.io-authorizer
query Parameters
shouldValidate
boolean
Default: true

validate the given resources

header Parameters
authorization
string
Request Body schema: application/json
required
cloudProvider
required
string (CloudProviderType)
Enum: "aws" "azure"
required
object
osType
string (OSType)
Enum: "ubuntu" "rhel"
size
required
integer <integer>
region
string
zones
Array of strings
subnetIds
Array of strings
accountId
string

Responses

Request samples

Content type
application/json
{
  • "cloudProvider": "aws",
  • "policy": {
    },
  • "osType": "ubuntu",
  • "size": 0,
  • "region": "string",
  • "zones": [
    ],
  • "subnetIds": [
    ],
  • "accountId": "string"
}

Response samples

Content type
application/json
{
  • "instancesCount": 0,
  • "instanceType": "string",
  • "providerInstanceType": "string",
  • "totalPrice": 0.1,
  • "volumezPrice": 0.1,
  • "mediaIOPSRead": 0,
  • "mediaIOPSWrite": 0,
  • "mediaBandwidthWrite": 0,
  • "mediaBandwidthRead": 0,
  • "raidResiliency": "string",
  • "zones": [
    ],
  • "subnetIds": [
    ],
  • "osType": "ubuntu",
  • "encryption": true,
  • "mediaSize": 0,
  • "raidColumns": 0,
  • "redundancy": 0
}

createPublicInfraPlan

Request Body schema: application/json
required
cloudProvider
required
string (CloudProviderType)
Enum: "aws" "azure"
required
object
osType
string (OSType)
Enum: "ubuntu" "rhel"
size
required
integer <integer>
region
string
zones
Array of strings
subnetIds
Array of strings
accountId
string

Responses

Request samples

Content type
application/json
{
  • "cloudProvider": "aws",
  • "policy": {
    },
  • "osType": "ubuntu",
  • "size": 0,
  • "region": "string",
  • "zones": [
    ],
  • "subnetIds": [
    ],
  • "accountId": "string"
}

Response samples

Content type
application/json
{
  • "instancesCount": 0,
  • "instanceType": "string",
  • "providerInstanceType": "string",
  • "totalPrice": 0.1,
  • "volumezPrice": 0.1,
  • "mediaIOPSRead": 0,
  • "mediaIOPSWrite": 0,
  • "mediaBandwidthWrite": 0,
  • "mediaBandwidthRead": 0,
  • "raidResiliency": "string",
  • "zones": [
    ],
  • "subnetIds": [
    ],
  • "osType": "ubuntu",
  • "encryption": true,
  • "mediaSize": 0,
  • "raidColumns": 0,
  • "redundancy": 0
}

ProviderPricingInfo

Request Body schema: application/json
required
cloudProvider
required
string (CloudProviderType)
Enum: "aws" "azure"
iops
required
integer <integer>
size
required
integer <integer>
throughput
integer <integer>

Responses

Request samples

Content type
application/json
{
  • "cloudProvider": "aws",
  • "iops": 0,
  • "size": 0,
  • "throughput": 0
}

Response samples

Content type
application/json
{
  • "totalPriceList": [
    ]
}

auth

Signs out user from all devices

Request Body schema: application/json
required

Access Token

AccessToken
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "AccessToken": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

User SignIn

Request Body schema: application/json
required

A signin object

email
required
string non-empty
password
required
string >= 8 characters

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "IdToken": "string",
  • "RefreshToken": "string",
  • "ExpiresIn": 0,
  • "TokenType": "string"
}

Get user details

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "Message": "string",
  • "Email": "string",
  • "Name": "string",
  • "TenantID": "string"
}

Create Tenant's additional user

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json

new tenant's user

email
required
string non-empty
password
required
string >= 8 characters
name
required
string [ 1 .. 50 ] characters
tenantId
required
string [ 1 .. 50 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst",
  • "name": "string",
  • "tenantId": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Request change client password

Request Body schema: application/json
required

new user password

email
string

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Change client password

Request Body schema: application/json
required

new user password

password
string
name
string
guid
string

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "name": "string",
  • "guid": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Change clients password when user is logged in

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

new user password when logged in

oldpassword
string
email
string
newpassword
string
oldPassword
string
newPassword
string

Responses

Request samples

Content type
application/json
{
  • "oldpassword": "string",
  • "email": "string",
  • "newpassword": "string",
  • "oldPassword": "string",
  • "newPassword": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

Confirm user signup

query Parameters
client_id
string

Cognito Client ID

user_name
string

Cognito User Name

confirmation_code
string

Cognito Signup Confirmation Code

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Add user to tenant group users

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required

New user attributes to add in Cognito

email
required
string non-empty
password
required
string >= 8 characters
name
required
string [ 1 .. 50 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string"
}

disable user

Authorizations:
storage.io-authorizer
path Parameters
email
required
string

User email to disable

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

invite a user to join tenant (send add user signup email

Authorizations:
storage.io-authorizer
path Parameters
email
required
string

User email to invite

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

deletes a user

Authorizations:
storage.io-authorizer
path Parameters
email
required
string

User email to invite

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

List all tenant group users

Authorizations:
storage.io-authorizer
path Parameters
tenantId
required
string

Tenant Id to get all users for

header Parameters
authorization
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

get subscription

query Parameters
token
required
string

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

getTenantRefreshToken

Request Body schema: application/json
required
accesstoken
required
string
hostname
required
string

Responses

Request samples

Content type
application/json
{
  • "accesstoken": "string",
  • "hostname": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

getTenantAccessToken

Authorizations:
storage.io-authorizer
header Parameters
authorization
required
string

Tenant token authorization

Responses

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "TokenType": "string",
  • "ExpiresIn": 0
}

GetTenantIDFromTenantToken

header Parameters
tenanttoken
required
string

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "Message": "string",
  • "TenantID": "string"
}

deleteTenantHost

Authorizations:
storage.io-authorizer
path Parameters
tenantHost
required
string
tenantID
required
string
header Parameters
authorization
required
string

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "Message": "string"
}

TenantHostAccessCredentials

header Parameters
refreshtoken
required
string

Responses

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "IdToken": "string",
  • "AccessTokenExpiration": "string",
  • "IdTokenExpiration": "string",
  • "TokenType": "string"
}

getTenantHost

header Parameters
tenanthosttoken
required
string

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "Message": "string",
  • "TenantHost": "string",
  • "TenantID": "string"
}

RefreshTenantAPIAccessCredentials

header Parameters
refreshtoken
required
string

Responses

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "IdToken": "string",
  • "AccessTokenExpiration": "string",
  • "IdTokenExpiration": "string",
  • "TokenType": "string"
}

tenant-settings

Get tenant settings

Authorizations:
storage.io-authorizer
header Parameters
authorization
string

Responses

Response samples

Content type
application/json
{
  • "pricing": {
    },
  • "declarative": {
    },
  • "throttle": {
    }
}

Modify tenant settings

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "settingsToModify": {
    }
}

Response samples

Content type
application/json
{ }

Reset tenant settings

Authorizations:
storage.io-authorizer
header Parameters
authorization
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "settingsToReset": {
    }
}

Response samples

Content type
application/json
{ }