I am new to softlayer. We need to have all the performance storages for a user so that by selecting any of these we can get corresponding Virtual Machine Id for authorizing with storage. Please help me as I am struggling in same for last 4-5 days. Thanks in advance.
1 Answers
Please, try the following Rest request:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, allowedVirtualGuests,billingItem[orderItem[id,order[id,userRecord.username]],description,location[id,longName]]]&objectFilter={ "networkStorage": { "nasType": { "operation": "ISCSI" }, "billingItem": { "description": { "operation": "Block Storage (Performance)" }, "orderItem": { "order": { "userRecord": { "username": { "operation": "myUsername" } } } } } } }
Method: GET
Where:
This request will help you to get ”Network Storage”
items filtered by type
(Block Storage (Performance)) and ”username”
. Also to get valid available virtual guests to authorize, ”allowedVirtualGuests”
property was added in the object mask.
Some references:
SoftLayer_Account::getNetworkStorage
API for Performance and Endurance storage(Block storage)
Update 1:
The above request allows you to apply several filters according what you want. You only need to add/remove the filters according to your needs. If you need associated storage volumes only by filtering “user”, some filters should be removed to the previous request, for example:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, billingItem[orderItem[id,order[id,userRecord.username]],description,location[id,longName]]]&objectFilter={ "networkStorage": { "billingItem": { "orderItem": { "order": { "userRecord": { "username": { "operation": "myUsername" } } } } } } }
Method: GET
Notice that all associated storage volumes are a set of: File Storage, Block storage, Object Storage, Evault Backup. If you want to a specific Storage type
, you can add an additional filter.
Additionally, if you want only list “Block Storage” items filtered by user
, you can use other method too:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getIscsiNetworkStorage?objectFilter={ "iscsiNetworkStorage": { "billingItem": { "orderItem": { "order": { "userRecord": { "username": { "operation": "myUserName" } } } } } } }
Method: GET
List “Filke Storage” items filtered by user:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNasNetworkStorage?objectFilter={ "nasNetworkStorage": { "billingItem": { "orderItem": { "order": { "userRecord": { "username": { "operation": "myUserName" } } } } } } }
Method: GET
References:
SoftLayer_Account::getIscsiNetworkStorage
SoftLayer_Account::getNasNetworkStorage
-
I added some requests can help you. But, the first request I sent you previously should the basis to get the all `storage volumes` filtered per `user`. – mcruz Mar 08 '16 at 17:53