Как использовать атрибуты в команде Inspec? - PullRequest
0 голосов
/ 11 декабря 2018

Я определил некоторые базовые тесты Inspec, чтобы проверить, активен ли балансировщик нагрузки:

proxy = attribute('proxy_netlb_arn')

control 'Checks if all the ECE Load balancers are active ' do
impact 1.0
title 'Checks if all the ECE Load balancers are active'
describe command("aws elbv2 describe-load-balancers --load-balancer-arn proxy['value'] | jq -r '.[][].State.Code'") do
    its('stdout') { should match "active" }
end
end

Я использую переменную под названием «proxy», которая содержит ARN Loadbalancer.К сожалению, переменная не распознается как таковая, потому что она находится внутри команды.

1 Ответ

0 голосов
/ 11 декабря 2018

вы должны использовать строковую интерполяцию , чтобы получить значение вашей строковой переменной.

при условии, что proxy['value'] возвращает значение переменной proxy.тогда вы можете сделать это следующим образом:

proxy = attribute('proxy_netlb_arn')

control 'Checks if all the ECE Load balancers are active ' do
impact 1.0
title 'Checks if all the ECE Load balancers are active'
describe command("aws elbv2 describe-load-balancers --load-balancer-arn #{proxy['value']} | jq -r '.[][].State.Code'") do
    its('stdout') { should match "active" }
end
end
...