Можно ли выполнять запросы типа И / ИЛИ с помощью интерфейса командной строки AWS? - PullRequest
0 голосов
/ 26 марта 2019

Я хотел бы использовать побитовые операторы в стиле AND OR с запросом CLI AWS.

В частности, я хотел бы найти все наши балансировщики нагрузки, которые:

  1. internetоблицовка (схема == "интернет = облицовка")
  2. использование https (протокол == "HTTPS")
  3. не ограничивается только TLS1.2 (PolicyNames! = "ELBSecurityPolicy-TLS-1-2-2017-01 ")

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

aws elb describe-load-balancers --query "LoadBalancerDescriptions[].ListenerDescriptions[?PolicyNames!='ELBSecurityPolicy-TLS-1-2-2017-01']"

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

aws elb describe-load-balancers --query "LoadBalancerDescriptions[].ListenerDescriptions[?PolicyNames!='ELBSecurityPolicy-TLS-1-2-2017-01'], LoadBalancerDescriptions[].ListenerDescriptions[?Scheme=='internet-facing']"

В конечном счете, я хотел бы, чтобы это вывело Имя, DNS, и в идеале, CFT, к которому он привязан, но только порты HTTPS интернет-связи, которые не являютсяограничено TLS1.2

1 Ответ

0 голосов
/ 26 марта 2019

Кажется, я понял это:

aws elb describe-load-balancers --query "LoadBalancerDescriptions[?Scheme=='internet-facing'].[LoadBalancerName, DNSName, ListenerDescriptions[?PolicyNames!='ELBSecurityPolicy-TLS-1-2-2017-01'], ListenerDescriptions[*].Listener[?Protocol=='HTTPS']]"

Все еще не уверен, что лучший способ связать его с CFT с помощью команды CLI, но все ближе. : -)

...