Как получить все идентификаторы хранилища для авторизации с идентификатором VM..?

Я хочу авторизовать хранилище с виртуальными машинами. Для этого мне нужно иметь все идентификаторы VM для хранилища и те, которые я получаю с помощью следующего вызова:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Network_Storage_Iscsi/9653497/getAllowableVirtualGuests?objectMask=mask[id,fullyQualifiedDomainName]

Это дает мне все идентификаторы VM, соответствующие 9653497 (идентификатор хранилища / заказа). Однако мне нужно иметь все те идентификаторы хранилища (например, 9653497), которые не назначены ни одному из идентификаторов виртуальной машины. Я использую приведенный ниже вызов, чтобы получить весь идентификатор хранилища:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, billingItem[description,location[id,longName]]]&objectFilter={"networkStorage":{"nasType":{"operation":"ISCSI"},"billingItem":{"description":{"operation":"Endurance Storage"}}}}

2 ответа

Фильтр по вашему запросу, получает Block Storage("nasType":{"operation":"ISCSI"}), возможно, вам нужен File Storage, Мы можем удалить его, чтобы получить больше "Endurance" элементы (блок и файл).

Пожалуйста, попробуйте следующее, удалив некоторые фильтры:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, billingItem[description,location[id,longName]]]&objectFilter={   "networkStorage": {     "billingItem": {       "description": {         "operation": "Endurance Storage"       }     }   } }

Method: GET

если мы не хотим получить только Enduranceмы можем удалить этот фильтр тоже.

Но при попытке добавить некоторые свойства, используя objectMasks в http://sldn.softlayer.com/reference/services/SoftLayer_Account/getNetworkStorage как allowableVirtualGuests, этого свойства нет в SoftLayer_Network_Storage,

По этой причине единственный способ получить "getAllowableVirtualGest" - использовать http://sldn.softlayer.com/reference/services/SoftLayer_Network_Storage/getAllowableVirtualGuests

Данные, которые вы используете для фильтра, вероятно, неверны, попробуйте вызвать метод get object GET /SoftLayer_Network_Storage/9653497/getObject?objectMask=mask[nasType,billingItem[description]] и посмотрите, совпадают ли значения запроса с вашим objectFilter

Другие вопросы по тегам