SoftLayer API - Как получить Volume Id из ответа json из части заказа
У меня есть Ansible playbook для заказа Portable Storage. Как я могу извлечь / получить идентификатор тома из ответа json этого порядка, чтобы я мог использовать его позже в следующих задачах для присоединения к экземпляру? Я понимаю, что разместил заказ, и он должен быть одобрен в первую очередь. В моем случае это занимает мало времени или не требует времени и сразу же получает одобрение. Я хотел бы создать и прикрепить том в одной игре. Благодарю.
1 ответ
Поскольку переносное хранилище должно быть одобрено, ответ на заказ не содержит идентификатор вновь созданного хранилища портала, однако ответ содержит свойство с именем "orderId", используя значение этого свойства, которое вы можете получить переносное хранилище. Например, используя запрос REST, например так:
GET https://$USERNAME:$APIKEY@api.softlayer.com/rest/v3/SoftLayer_Account/getPortableStorageVolumes?objectFilter={"portableStorageVolumes": {"billingItem":{"orderItem":{"order":{"id":{"operation": $ORDERID}}}}}}
Note: Replace $USERNAME $APIKEY $ORDERID
Чтобы заставить его работать с помощью curl, вам нужно закодировать URL, например
curl -X GET -u $USERNAME:$APIKEY https://api.softlayer.com/rest/v3/SoftLayer_Account/getPortableStorageVolumes?objectFilter=%7B%22portableStorageVolumes%22%3A+%7B%22billingItem%22%3A%7B%22orderItem%22%3A%7B%22order%22%3A%7B%22id%22%3A%7B%22operation%22%3A+$ORDERID%7D%7D%7D%7D%7D%7D
Note: Replace $USERNAME $APIKEY $ORDERID
Приведенный выше запрос вернет только недавно созданное переносное хранилище, поэтому вы можете получить из json идентификатор переносного хранилища для выполнения других задач с ним.
С уважением