Должно быть, довольно простая вещь, но я не мог найти подсказки нигде. Я хочу запустить get_all_dhcp_options(), но установить фильтры так, чтобы возвращались только те, которые соответствуют определенному доменному имени.boto VPC get_all_dhcp_options() фильтр по доменному имени
ответ
Это должно работать для вас:
import boto.vpc
c = boto.vpc.connect_to_region('us-west-2') # or whatever
c.get_all_dhcp_options(filters={'key': 'domain-name', 'value': 'us-west-2.compute.internal'})
Очевидно, что использование любого домен имеет смысл в вашей ситуации.
Определение того, какой ключ/значения фильтра поддерживается данным вызовом API, является еще одной проблемой. К сожалению, boto не предоставляет способ сделать это главным образом потому, что API не предоставляет эту информацию. Однако, если у вас есть AWSCLI, у него есть справочная информация, которая поступает непосредственно из сервисной документации, поэтому она перечисляет доступные фильтры.
Чтобы найти то, что фильтры поддерживаются вы должны знать, что метод get_all_*
заезжает Boto карты к Describe*
API вызовов в EC2 и те, в свою очередь, доступны в качестве AWSCLI describe-*
команд. Итак:
aws ec2 describe-dhcp-options help
будет отображать всю помощь для вызова API, включая поддерживаемые фильтры. Его окольный способ получить информацию, но лучше, чем искать ее в документах API.
Если у кого-то есть лучший способ, пожалуйста, дайте мне знать.
Я понимаю, чтобы получить ответ непосредственно как @garnaat сделал просто, но на как получить фильтр ключ не то, что прямой.
Что я здесь сделал, это инструкция, чтобы легко узнать ключ/значение. Это общий способ для поиска каких-либо клавиш в Бото, не только VPC, то же самое для EC2, s3 и т.д.
$ python
>>> import boto.vpc
>>> c = boto.vpc.connect_to_region('us-west-2') # or whatever
>>> c.get_all_dhcp_options()
[DhcpOptions:dopt-12dc23d1, DhcpOptions:dopt-426e82c7]
>>> for dhcp in c.get_all_dhcp_options():
... print dir(dhcp)
...
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'add_tag', 'add_tags', 'connection', 'endElement', 'id', 'item', 'options', 'region', 'remove_tag', 'remove_tags', 'startElement', 'tags']
Это имеет смысл, что доменное имя должно быть в options
, но вы можете проверить его с помощью логина aws, нажмите VPC
=>DHCP Options Sets
, доменное имя находится в столбце options
. Так продолжать отладку:
>>> for dhcp in c.get_all_dhcp_options():
... print dhcp.options
...
{u'domain-name': [u'us-west-2.compute.internal'], u'domain-name-servers': [u'AmazonProvidedDNS']}
{u'domain-name': [u'abc.example.com xyz.example.com'], u'domain-name-servers': [u'10.0.0.1', u' 10.0.0.2'], u'ntp-servers': [u'10.0.0.1', u' 10.0.0.2']}
...
Итак, теперь вы получите ключ, который domain-name
, и вы также знаете, другие ключи domain-name-servers
, ntp-servers
. Тогда вы должны уверенно поставить фильтр сейчас.
>>> c.get_all_dhcp_options(filters={'key': 'domain-name', 'value': 'us-west-2.compute.internal'})
[DhcpOptions:dopt-426e82c7]
После того как вы получите результат правильно, вы можете добавить выше шаги в свои коды.
Удачи.
Существует общая проблема определения того, какие фильтры поддерживаются определенным вызовом API. Бото не помогает вам в этом. В прошлом я прибегал к просмотру документов EC2 API. Теперь я обычно использую команду '' help'' в AWSCLI, чтобы узнать. – garnaat
Спасибо @garnaat. Это работа.Но в boto, кажется, нет простого способа перечислить ключи. Кстати, можно ли обновить свой ответ и дать подробные инструкции о том, как получить ключ с помощью «AWSCLI»? – BMW
Правильно, нет способа получить это в boto. Это потому, что нет API, который возвращает эту информацию. Я отредактировал ответ ниже, чтобы получить дополнительную информацию о получении документов с фильтрами через AWSCLI. – garnaat
- 1. Фильтр Iframe по доменному имени;
- 2. Чарльз фильтр по доменному имени не работает с версией 4.0
- 3. Нужна помощь по доменному имени -
- 4. Защитить код/содержимое по доменному имени
- 5. Как аутентифицировать плагин WordPress по доменному имени?
- 6. nginx сбросить входящие соединения по доменному имени
- 7. Regex соответствует доменному имени
- 8. Образец, соответствующий доменному имени
- 9. Amazon EC2 Boto: фильтр по тегу подстрока
- 10. fetch vpc peering connection id in boto
- 11. Wordpress + фильтр по имени
- 12. .htaccess перенаправить на страницу по доменному имени в Wordpress
- 13. Как заблокировать сервер по доменному имени от нападения на сайт
- 14. Как запретить доступ к хосту по доменному имени?
- 15. Как найти URL-адрес хостинговой компании по доменному имени?
- 16. Excel - Как отсортировать столбец адресов электронной почты по доменному имени?
- 17. Вызов API по IP-адресу и доменному имени
- 18. access tomcat развернутое приложение (aws) по доменному имени (www.mydomain.com)
- 19. Ограничение доступа к веб-сайту по доменному имени
- 20. Rails route to model instance - по доменному имени
- 21. Аутентификация доступа к доменному имени Drupal
- 22. Фильтр по идентификатору или имени
- 23. ngRepeat Фильтр по имени массива?
- 24. Как перейти от/admin к доменному имени?
- 25. Ссылки вернуться к доменному имени домашней страницы
- 26. Отображение имени EC2 экземпляра с помощью Boto 3
- 27. AuthFailure для распределения IP-адреса EC2-VPC с помощью boto
- 28. Boto: как получить группу безопасности по id?
- 29. извлекать группы безопасности, используя python boto, но установить vpc id
- 30. Можно ли перечислять экземпляры без VPC, используя Boto get_only_instances()?
Спасибо, я видел обновления. На самом деле, после запуска aws с помощью команды help, я не могу получить полный список ключей (например, в справочной системе нет ключа «ntp-servers»). Я думаю, что лучше запустить команду 'aws ec2 describe-dhcp-options'. Из вывода я могу четко понимать структуру ключа/значения. – BMW