Плагин IBM Cloud CLI Softlayer: как пройти фильтры? - PullRequest
0 голосов
/ 28 июня 2019

Я использую команды Softlayer в IBM Cloud CLI для управления классической инфраструктурой.Следуя документации об API Softlayer Я хочу выполнить фильтрацию для определенных центров обработки данных и их регионов.

В общем, команды позволяют передавать следующие параметры:

OPTIONS:
   --init value        Init parameter (default: 0)
   --mask value        Object mask: use to limit fields returned
   --parameters value  Append parameters to web call
   --limit value       Result limit (default: 0)
   --offset value      Result offset (default: 0)

Итак, я пытаюсь использовать --parameters для фильтра, как показано здесь .

Следующее возвращает все объекты и не фильтрует.Другие варианты также не работают:

ibmcloud sl call-api SoftLayer_Location_Group getAllObjects --parameters 'object_filter={"locationGroupTypeId":1}'

Как применить фильтры к вызову API с помощью команды CLI IBM Cloud?

1 Ответ

0 голосов
/ 28 июня 2019

Кажется, что ibmcloud cli не поддерживает фильтры объектов.

Я предлагаю вам попробовать использовать slcli:

Используйте следующую команду slcli, чтобы увидеть параметр фильтра объекта:

slcli call-api --help

Вывод:

Usage: slcli call-api [OPTIONS] SERVICE METHOD [PARAMETERS]...

  Call arbitrary API endpoints with the given SERVICE and METHOD.

  Example::

      slcli call-api Account getObject     slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
      slcli call-api Virtual_Guest getObject --id=12345     slcli call-api Metric_Tracking_Object getBandwidthData
      --id=1234 \         "2015-01-01 00:00:00" "2015-01-1 12:00:00" public     slcli call-api Account
      getVirtualGuests \         -f 'virtualGuests.datacenter.name=dal05' \         -f 'virtualGuests.maxCpu=4' \
      --mask=id,hostname,datacenter.name,maxCpu     slcli call-api Account getVirtualGuests \         -f
      'virtualGuests.datacenter.name IN dal05,sng01'

Options:
  --id TEXT                       Init parameter
  -f, --filter TEXT               Object filters. This should be of the form: 'property=value' or
                                  'nested.property=value'. Complex filters like betweenDate are not currently
                                  supported. (multiple occurrence permitted)
  --mask TEXT                     String-based object mask
  --limit INTEGER                 Result limit
  --offset INTEGER                Result offset
  --output-python / --no-output-python
                                  Show python example code instead of executing the call
  -h, --help                      Show this message and exit.

Ссылка:

https://softlayer -api-python-client.readthedocs.io / en / latest / cli /

...