0

我定义了一些基本的 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

我使用一个名为“代理”的变量,其中包含负载均衡器的 ARN。不幸的是,该变量无法被识别,因为它位于命令内部。

4

1 回答 1

1

您应该使用字符串插值来获取字符串变量的值。

假设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
于 2018-12-11T14:07:08.223 回答