我定义了一些基本的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。不幸的是,变量本身不能被识别,因为它在命令内部。
答案 0 :(得分:1)
您应该使用string interpolation来获取字符串变量的值。
假设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